Как я сортирую список слов по длине строки?

Существует список слов, похожи на это;

123
b
1
4rr
f
k3j3
gg

Затем я должен был отсортировать эти слова по длине строки (не имеет значения, которые запускаются с числового или представляют в виде строки, оба хорошо),

Вывод должен быть этим:

b
1
f
gg
123
4rr
4rr

Существует ли команда вида, которая позволяет мне делать это?

4
задан 24 January 2014 в 20:00

1 ответ

Я предполагаю, что Вы хотите сделать это на командной строке.

Большинство инструментов командной строки работает основанным на строке способом, таким образом, это просто с awk, sort и cut, посмотрите, например, этот другой вопрос:

# Print line-length and the line
awk '{ print length, $0 }' infile |

# Sort numerically by line-length
sort -n                           |

# Remove line-length number
cut -d' ' -f2-

Вывод:

1
b
f
gg
123
4rr
k3j3

Посмотрите man awk, info sort и info cut для больше.

4
ответ дан 24 January 2014 в 20:00

Другие вопросы по тегам:

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