Quantcast
Channel: jun01tの日記
Viewing all articles
Browse latest Browse all 87

コマンドラインで使う|(パイプ)

$
0
0

コマンドラインで使う|は、パイプ (pipe)と呼ばれます。この記号は、一つのコマンドの出力を、別のコマンドの入力として渡すために使います。


基本的な使い方

以下のように、複数のコマンドを|でつなぎます:

command1 | command2
  • command1: 出力を生成するコマンド。
  • command2: 入力を受け取り処理を行うコマンド。

具体例

1. テキストのフィルタリング

lsコマンドの出力から特定の文字列を含む行を抽出する例:

ls | grep "txt"
  • ls: 現在のディレクトリの内容を一覧表示。
  • grep "txt": 出力の中から「txt」を含む行を表示。

2. 出力の整形

長い出力を見やすくするため、lessでページ分けする:

ps aux | less
  • ps aux: 現在動作しているプロセスを詳細表示。
  • less: 出力をページ単位でスクロール可能に。

3. 結果のカウント

特定の条件に合う行数を数える:

cat file.txt | grep "error" | wc -l
  • cat file.txt: ファイルの内容を出力。
  • grep "error": 出力の中から「error」を含む行を抽出。
  • wc -l: 抽出結果の行数をカウント。

4. 複雑な処理

複数のコマンドを組み合わせてデータを処理:

find /path/to/search -type f | xargs wc -l | sort -n
  • find /path/to/search -type f: 指定したパス内のすべてのファイルを検索。
  • xargs wc -l: 各ファイルの行数を計算。
  • sort -n: 行数順にソート。

メリット

  1. コマンドの出力を直接次のコマンドに渡せるため、効率的なデータ処理が可能。
  2. 一時ファイルを作成せずにデータを流れるように処理できる。

注意点

  • 各コマンドは標準入力 (stdin) と標準出力 (stdout) に対応している必要があります。
  • コマンドの順序を間違えると、意図した結果にならない場合があります。

何か具体的な例やシチュエーションでの質問があれば教えてください!


Viewing all articles
Browse latest Browse all 87

Trending Articles