お兄ちゃん!
コマンドを知れば知るほど
操作の幅が広がるね!
私がまだ知らないコマンドも
たくさんあるんだよね?
うん、たくさんあるよ!
今回はテキスト処理に関する
コマンドを扱っていこう!
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
を学んだよ!これらのコマンドはとてもシンプルだけど組み合わせ次第で色々なことができるんだ