お兄ちゃん!
コマンドを知れば知るほど
操作の幅が広がるね!
きっと私がまだ知らないコマンドも
たくさんあるんだよね?
うん、たくさんあるよ!
今回はテキスト処理に関する
コマンドを扱っていこう!
sort コマンドsort は
各行を辞書順に並び替えるよ
sort [オプション]... [ファイル]...
以下を実行してみよう
sort << EOF
555
222
333
111
444
333
EOF
結果はこうだったよ!
111
222
333
333
444
555
辞書順に並び替え…これはわかりやすいね!
uniq コマンドuniq は連続した重複行を取り除くよuniq [オプション]... [入力ファイル [出力ファイル]]
連続していない重複行は削除してくれないんだなので
sort と組み合わせて使われることが多いよ先ほどの
sort の例にuniq を加えてみよう!sort << EOF | uniq
111
555
333
222
444
333
EOF
出力は以下のようになったよ!
111
222
333
444
555
sort の出力では重複していた 333 が1行しか出力されていないのがわかるね!tac コマンドtac は行の順序を逆さまにして表示するよcat を逆さまにした名前なんだtac [オプション]... [ファイル]...
tac にヒアドキュメントの内容を処理させてみよう!tac << EOF
123
456
789
EOF
うん!実行してみる!
789
456
123
おお!確かに行が逆順になっている!
rev コマンドrev は各行の文字列を逆順にして表示するよrevert の略なんだrev [オプション] [ファイル]...
これは例を見た方がわかりやすいと思うよ
rev << EOF
123
456
789
EOF
じゃあ実行して結果を見てみよう!
321
654
987
なるほど…各行の内容が逆になっているね!
これって
tac と組み合わせたら完全に逆さまになるんじゃないかな?いい視点だね!試してみよう
rev << EOF | tac
123
456
789
EOF
どうなってくれるかな…
987
654
321
ちゃんと期待どおり!全てが逆さまの表示になったね!
今回はテキストを処理するコマンド
sort, uniq,tac, revを学んだよ!これらのコマンドはとてもシンプルだけど組み合わせ次第で色々なことができるんだ