Сортировка списка значений через запятую - PullRequest
2 голосов
/ 10 августа 2010

Какой самый простой способ отсортировать список значений через запятую в Mac OS X:

Ввод: «a, b, aaa, bc»

Вывод: «a, aaa,b, bc "

Я хотел бы сделать это с терминала, чтобы я мог передать вывод другой команде.

Ответы [ 3 ]

4 голосов
/ 10 августа 2010
$ echo "a, b, Aaa, bc" |egrep -o "[^, ]+" |sort -f | xargs |sed -e 's/ /, /g'

, если значения содержат пробелы:

$ echo "a, b, Aaa, bc" |egrep -o "[^, ][^,]*" |sort -f | xargs -I Q echo Q, | xargs

, но в конце вы получаете дополнительный "," бесплатно.

1 голос
/ 10 августа 2010
echo "a, b, Aaa, bc"|tr -s "[, ]" "\n"|sort|sed -e :a -e 'N;s/\n/,/;ba'

echo "a, b, Aaa, bc"| tr -s "[, ]" "\n"|sort|tr "\n" ","|sed 's/,$//'
0 голосов
/ 10 августа 2010
echo 'a, b, aaa, bc' | awk '{split($0, a, ", "); n = asort(a); for (i=1; i<=n; i++) {printf a[i]; if (i<n) printf ", "}}'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...