はじめに
テキストフィルタコマンドとは
標準入力(キーボードとか)を入力として受け取り、標準出力(ディスプレイとか)に出力するコマンドをテキストフィルタコマンドというそうです。この記事では「テキストフィルタコマンドでこんなことができちゃうんだぞ(どやー)」的なことを紹介してみます。
この記事であそぶテキストフィルタコマンド一覧
まんがでわかるLinux シス管系女子を参考にグループ分けしてみました。
ファイルの中身を表示するコマンド
コマンド |
なにこれ? |
使い方の例 |
cat |
ファイルの中身を全部表示する |
$ cat -n /etc/hosts |
tail |
ファイルの中身の末尾を表示する |
$ tail -f -n 5 /etc/services |
join |
共通フィールドのある2つのファイルを連結して表示する |
$ join file1 file2 |
paste |
2つのファイルを連結して表示する |
$ paste file1 file2 |
コマンドの結果を加工するコマンド
コマンド |
なにこれ? |
使い方の例 |
grep |
正規表現で文字列を検索して表示する |
$ grep -E -n "#+" /etc/httpd/conf/httpd.conf |
sort |
昇順/降順に表示する |
$ sort -r file |
cut |
指定したデリミタで分割して表示する |
$ cut -d":" -f1 /etc/passwd |
uniq |
重複する行を1行にして表示する |
$ uniq -c uniq |
sed |
|
|
awk |
|
|
nl |
行番号を表示する |
$ nl -w4 -nrz -s": " /etc/hosts |
tr |
文字を変換して表示する |
$ cat /etc/services パイプ tr [:lower:] [:upper:] |
コマンドの結果を最終加工するコマンド
コマンド |
なにこれ? |
使い方の例 |
less |
ファイルを1画面ずつ表示する |
$ less -N -M file |
tee |
コマンドの結果の表示とファイル出力をする |
$ grep -E -n "#+" /etc/httpd/conf/httpd.conf パイプ tee -a file |
wc |
ファイルの行数、単語数、文字数を表示する |
$ wc -l /etc/services |
head |
ファイルの中身の先頭を表示する |
$ head -n 5 /etc/services |
xargs |
コマンドの結果を制限つきの引数として使用し、コマンドを実行する |
$ echo * パイプ xargs ls |
参考資料