нужно сделать такую сортировку:
допустим есть такая запись в файле - folder/some name
нужно, чтобы сортировка была по символу, расположенному после "/"... sort -kx.x не подходит, т.к. folder модет иметь переменную длину...
есть какие-либо предложения?
bash сортировка (как)
Модераторы: /dev/random, Модераторы разделов
-
- Сообщения: 54
bash сортировка
Ибу ибуди - ху_ида_о муди - [Шаг за шагом можно достигнуть цели (кит.)]
-
- Администратор
- Сообщения: 13939
- Статус: oel ngati kameie
- ОС: GNU
Re: bash сортировка
создать промежуточный файл, в котором первым столбцом подставить те символы, по которым следует сортировать.
отсортировать sort'ом.
удалить первый столбец.
отсортировать sort'ом.
удалить первый столбец.
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
при сбоях форума см.блог
-
- Бывший модератор
- Сообщения: 3535
- Статус: OpenBSD-compatible
- ОС: OpenBSD -current
Re: bash сортировка
А "grep `cat file | cut -d '/' -f 2` file" не подойдёт?
-
- Сообщения: 54
Re: bash сортировка
нужно, чтобы folder сохранился...
Ибу ибуди - ху_ида_о муди - [Шаг за шагом можно достигнуть цели (кит.)]
-
- Бывший модератор
- Сообщения: 3535
- Статус: OpenBSD-compatible
- ОС: OpenBSD -current
Re: bash сортировка
G@riK
Тут он сохранится за счёт grep.
Тут он сохранится за счёт grep.
-
- Сообщения: 54
Re: bash сортировка
а если имя состит из 2 и более слов, разделённых пробелами?
Ибу ибуди - ху_ида_о муди - [Шаг за шагом можно достигнуть цели (кит.)]
-
- Сообщения: 1019
- Статус: Экс-металлюга
Re: bash сортировка
на перле довольно просто и делается примерно так
а вот в баше, видимо, не обойтись без метода, предложенного sash-kan (создание дополнительного столбца). По крайней мере, я не заморачиваюсь и решаю это примерно так:
Код: Выделить всё
perl -we 'print sort {($aa,$bb) = ($a=~/.+\/(.+)$/, $b=~/.+\/(.+)$/); $aa ge $bb} <>' file
а вот в баше, видимо, не обойтись без метода, предложенного sash-kan (создание дополнительного столбца). По крайней мере, я не заморачиваюсь и решаю это примерно так:
Код: Выделить всё
cat file | while read f; do echo "${f##*/};$f"; done | sort | cut -d\; -f2
ArchLinux / IceWM
-
- Сообщения: 54
Re: bash сортировка
спасибо большое
Ибу ибуди - ху_ида_о муди - [Шаг за шагом можно достигнуть цели (кит.)]