目次
今回使うサンプルファイル
index.csv
色,サイズ,商品名,種別,メーカー名,価格
赤,SS,Tシャツ,メンズ,メーカーA,1000円
白,S,ポロシャツ,レディース,メーカーB,1500円
黄,M,ジャケット,男女共用,メーカーC,2000円
青,L,コート,キッズ,メーカーD,3000円
標準ストリーム
標準ストリームとは、標準入力・標準出力・標準エラー出力の3つの総称です。
入力元 = キーボード
出力先 = コンソール画面
標準入力→コマンドが入力を受け取る
標準出力→結果を出力する
標準エラー出力→エラーなどの補足情報を出力する
パイプ
パイプとは、コマンドで「|」と表されます。パイプを使うと、あるコマンドの標準出力を他のコマンドの標準入力に渡せます。
cat
catコマンドは、引数に指定したファイルを出力します。
$ cat [ ファイル名 ]
$ cat index.csv
色,サイズ,商品名,種別,メーカー名,価格
赤,SS,Tシャツ,メンズ,メーカーA,1000円
白,S,ポロシャツ,レディース,メーカーB,1500円
黄,M,ジャケット,男女共用,メーカーC,2000円
青,L,コート,キッズ,メーカーD,3000円
grep
grepコマンドは、第1引数で指定した文字列を含む行を全て出力します。
(一般的にcatコマンドと組み合わせて使う例をよく見ますが、第2引数にファイルを指定することもできます。)
$ cat [ ファイル名 ] | grep [ 検索文字列 ]
$ grep [ 検索文字列 ] [ ファイル名 ]
指定したファイル内で文字列検索したい
下記のコマンドで、「シャツ」を含むレコードを全て出力できます。
$ grep “シャツ” index.csv
赤,SS,Tシャツ,メンズ,メーカーA,1000円
白,S,ポロシャツ,レディース,メーカーB,1500円
指定したディレクトリ内のファイル全てに対して文字列検索したい
$ grep “文字列” -r [ ディレクトリ名 ]
cut
cutコマンドは、行においてどこからどこまでを抜き出すかを指定できるコマンドです。
-cオプションで文字の始まりと終わりを指定できます。
$ cat index.csv | cut -c 5-6
サイ SS S, M, L,
Linux 系 OS では -c を指定しても -b と同じ扱い (バイト単位) になるようです。
file
ファイルコマンドでは、そのファイルの文字コードを確認できます。
$ file index.csv
index.csv: UTF-8 Unicode text, with CRLF line terminators