🖥
Bash | 複数行のテキストを文字列の長さでソートする
$ [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オープンチャットもご利用ください。
公開日時
2016-06-29
Discussion