■パイプラインの使い方
コマンドの出力結果について、リダイレクト(※)を使用してファイル出力することもできるが、別のコマンドのインプットとして実行する方法もある。
この方法をパイプラインと呼び、以下のように実装する。
コマンド1 | コマンド2
上記のようにパイプライン「 | 」を使用することで、「コマンド1」の実行結果をインプットに「コマンド2」を実行することができる。
▼パイプラインの実行イメージ
・「 ls 」コマンドを実行し、ファイル情報を出力。
・出力結果をインプット情報として「 grep 」コマンドを実行。
(※)リダイレクトについての参照先
■パイプラインの使用例
▼ディレクトリ内のファイル調査
パイプライン「 | 」を使用して、ディレクトリ内のファイルのうち、特定のファイルまたは件数を表示する。
・ディレクトリ内のファイル情報をすべて表示
$ ls /work
hoge1.conf hoge1.txt hoge2.html hoge3.conf hoge3.txt
hoge1.html hoge2.conf hoge2.txt hoge3.html
全量表示させて、任意のファイルを探すこともできるが、量が多くなると大変であるため、「 ls 」の結果について、「 grep 」を実行する。
・ディレクトリ内のファイ情報のうち、テキストファイルのみ表示
$ ls /work | grep '.txt'
hoge1.txt
hoge2.txt
hoge3.txt
・ディレクトリ内のファイ情報のうち、テキストファイルの件数を表示
$ ls /work | grep '.txt' | wc -l
3
▼ログファイル調査
パイプライン「 | 」を使用して、ログファイル調査を行う。
・ログファイルの全量表示
$ cat information.log
2022/2/22 4:00 info:処理1開始
2022/2/22 4:05 info:処理1正常終了
2022/2/22 4:10 info:処理2開始
2022/2/22 4:20 info:処理2正常終了
2022/2/22 4:30 info:処理3開始
2022/2/22 4:40 info:処理3正常終了
2022/2/23 4:00 info:処理1開始
2022/2/23 4:05 info:処理1正常終了
2022/2/23 4:10 info:処理2開始
2022/2/23 4:20 info:処理2正常終了
2022/2/23 4:30 info:処理3開始
2022/2/23 4:40 info:処理3正常終了
2022/2/24 4:00 info:処理1開始
2022/2/24 4:05 error:処理1異常終了
2022/2/24 4:10 info:処理2開始
2022/2/24 4:20 info:処理2正常終了
2022/2/24 4:30 info:処理3開始
2022/2/24 4:40 info:処理3正常終了
ログファイル全量からエラーを探したり、特定の日付について検索する場合、「 cat 」の実行結果に対して「 grep 」を実行する。
・ログファイルからエラー部分のみ表示
$ cat information.log | grep 'error'
2022/2/24 4:05 error:処理1異常終了
・ログファイルから日付で抽出
$ cat information.log | grep '2022/2/23'
2022/2/23 4:00 info:処理1開始
2022/2/23 4:05 info:処理1正常終了
2022/2/23 4:10 info:処理2開始
2022/2/23 4:20 info:処理2正常終了
2022/2/23 4:30 info:処理3開始
2022/2/23 4:40 info:処理3正常終了
コメント