Ошибка «сортировка: невозможно прочитать: +1: нет такого файла или каталога» [закрыто]

-2
08.12.2018, 03:53
1 ответ

Короткий ответ: синтаксис, который вы используете для сортировки, взят из старой версии POSIX. Из руководства coreutils для sort:

On systems not conforming to POSIX 1003.1-2001, sort supports a traditional origin-zero syntax ‘+pos1 [-pos2]’ for specifying sort keys. The traditional command ‘sort +a.x -b.y’ is equivalent to ‘sort -k a+1.x+1,b’ if y is ‘0’ or absent, otherwise it is equivalent to ‘sort -k a+1.x+1,b+1.y’.

This traditional behavior can be controlled with the _POSIX2_VERSION environment variable (see Standards conformance); it can also be enabled when POSIXLY_CORRECT is not set by using the traditional syntax with ‘-pos2’ present.

Scripts intended for use on standard hosts should avoid traditional syntax and should use -k instead.

Хотя можно восстановить традиционное поведение, проще использовать новый синтаксис.

Опция +1определяет ключ сортировки от второго поля до конца строки. Эквивалентная новая опция -k 2. Таким образом, новые команды sort, которые вы должны использовать, соответственно:

sort -k 2 -t: ~/source/corp_phones
sort -k 7 -t: ~/source/corp_phones
sort -k 5 -t: ~/source/corp_phones
2
28.01.2020, 05:15

Теги

Похожие вопросы