Как сортировать пути Linux с помощью--Field-separator = '/'?Linux

Ответить
Anonymous
 Как сортировать пути Linux с помощью--Field-separator = '/'?

Сообщение Anonymous »

Ввод: < /p>

Код: Выделить всё

d1/d2a/d3
d1/d2/d3
d1/d2+/d3
< /code>
желаемый результат: < /p>
d1/d2/d3
d1/d2+/d3
d1/d2a/d3
Обратите внимание: имя каталога может включать в себя любые символы, за исключением Forward Slash /.
try 01: нормальная сортировка не работает. Это сортирует знаки препинания + (ASCII: 43) перед «Прямой Slash/» (ASCII: 47).

Код: Выделить всё

$ { echo 'd1/d2a/d3' ; echo 'd1/d2/d3' ; echo 'd1/d2+/d3' ;} \
| LC_ALL=C sort --debug

sort: text ordering performed using simple byte comparison
d1/d2+/d3
_________
d1/d2/d3
________
d1/d2a/d3
_________
< /code>
Попробуйте 02: я не уверен. Похоже, что использование-field-separator 
без-КОДА не имеет эффекта.

Код: Выделить всё

$ { echo 'd1/d2a/d3' ; echo 'd1/d2/d3' ; echo 'd1/d2+/d3' ;} \
| LC_ALL=C sort --debug --field-separator='/'

sort: text ordering performed using simple byte comparison
d1/d2+/d3
_________
d1/d2/d3
________
d1/d2a/d3
_________
< /code>
Попробуйте 03: я не уверен. Кажется, что использование -koy = 1 
не сортирует все поля отдельно.

Код: Выделить всё

$ { echo 'd1/d2a/d3' ; echo 'd1/d2/d3' ; echo 'd1/d2+/d3' ;} \
| LC_ALL=C sort --debug --field-separator='/' --key=1

sort: text ordering performed using simple byte comparison
d1/d2+/d3
_________
_________
d1/d2/d3
________
________
d1/d2a/d3
_________
_________
< /code>
Попробуйте 04: желаемый результат можно архивировать, явно перечисляя все ключи. Но глубина пути может быть неограниченной. < /P>
$ { echo 'd1/d2a/d3' ; echo 'd1/d2/d3' ; echo 'd1/d2+/d3' ;} \
| LC_ALL=C sort --debug --field-separator='/' --key=1,1 --key=2,2 --key=3,3

sort: text ordering performed using simple byte comparison
d1/d2/d3
__
__
__
________
d1/d2+/d3
__
___
__
_________
d1/d2a/d3
__
___
__
_________
Примечание: я также попытался добавить-stable или с помощью-version-sort . Результаты одинаковы.

Подробнее здесь: https://stackoverflow.com/questions/795 ... -separator
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Linux»