🖥

Bash | 複数行のテキストを文字列の長さでソートする

2023/08/26に公開
$ [TEXT] | awk '{ print length, $0 }' | sort -n -s | cut -d" " -f2-

と書く。

pyramid=$(cat << EOM
AA
A
AAAA
AAAAA
AAA
EOM
)

echo "$piramid" | awk '{ print length, $0 }' | sort -n -s | cut -d" " -f2-

結果

A
AA
AAA
AAAA
AAAAA

解説

いちど各行頭に数字をつけてからソートして、また数字を消す、ということをやっているっぽい。

環境

  • bash 3.2

参考

チャットメンバー募集

何か質問、悩み事、相談などあればLINEオープンチャットもご利用ください。

https://line.me/ti/g2/eEPltQ6Tzh3pYAZV8JXKZqc7PJ6L0rpm573dcQ

Twitter

https://twitter.com/YumaInaura

公開日時

2016-06-29

Discussion