CHAPTER 5 · 8 LESSONS · 104 問
テキストを整形する
並べかえる、重複を消す、列を抜く、置きかえる。文字の流れを加工する道具たち。
前の章で「つなぐ」を覚えた。この章はそのつなぐ相手を増やす回だよ。
コマンドラインの道具は、ほとんどが「テキストを受け取ってテキストを返す」形をしている。だから並べかえる道具と重複を消す道具をつなぐだけで、集計ができてしまう。
sort… 並べかえる(数として・列を指定して・逆順に)uniq… 隣り合った重複を消す(だから先にsortする)cut… 列を抜き出すtr… 文字を置きかえる・消すpasteとnl… 横に並べる・行番号を振るsed… 行を置きかえる、抜き出すawk… 列を計算するdiff… 2つのファイルの違いを出す
sed と awk はそれ自体が小さなプログラミング言語で、本を1冊書ける深さがある。この章で扱うのはいちばんよく使う形だけ — sed は置きかえ、awk は列の取り出しと足し算。それだけで日々の9割は足りるよ。
なお uniq は「同じ行が並んでいるとき」しか消せない。ここを知らないと「効かない」と思ってしまうので、この章でわざと引っかかっておこう。
この章のレッスン
並べかえる、重ねを消す
抜き出す、置きかえる