{category}

Linux - ストリーム制御

|

パイプ(テキスト処理とシェル

意味 コマンドの出力を次の入力に


|とは?

パイプ(|)は、Linuxシェルで使われる記号です。一つのコマンドの出力を、次のコマンドの入力として渡す役割を果たします。これにより、複数のコマンドを連携させて、より複雑な処理を行うことができます。

|の具体的な使い方

パイプの基本使用例

$ ls | grep .txt

👇出力結果

file1.txt
file2.txt
document.txt

この例では、lsコマンドの出力(ファイル一覧)を、grepコマンドの入力として渡しています。結果として、.txtで終わるファイル名だけが表示されます。

複数のパイプを使用した例

$ cat /etc/passwd | grep root | cut -d: -f1,6

👇出力結果

root:/root

この例では、/etc/passwdファイルの内容をcatで表示し、grepでrootを含む行を抽出し、最後にcutコマンドで1番目と6番目のフィールド(ユーザー名とホームディレクトリ)を取り出しています。

パイプを使用したソートと重複削除

$ history | awk '{print $2}' | sort | uniq -c | sort -rn | head -5

👇出力結果

     42 ls
     38 cd
     25 git
     18 vim
     15 grep

この例では、コマンド履歴から頻繁に使用されるコマンドのトップ5を表示します。historyの出力からawkで2列目(コマンド名)を抽出し、sortで並べ替え、uniqで重複をカウント、再度sortで降順に並べ替え、最後にheadで上位5件を表示します。

|に関するよくある質問

Q. パイプの役割は?
A. パイプ(|)は、左側のコマンドの出力を右側のコマンドの入力として渡す役割を果たします。これにより、複数のコマンドを連携させて複雑な処理を行うことができます。
Q. パイプは何個でも使える?
A. はい、パイプは複数連続して使用できます。例えば、「command1 | command2 | command3」のように、複数のコマンドを連携させることができます。
Q. パイプとリダイレクトの違いは?
A. パイプ(|)はコマンド間でデータを渡すのに対し、リダイレクト(>や<)はファイルとの間でデータを入出力します。パイプはプロセス間、リダイレクトはプロセスとファイル間の通信に使用されます。

|が学べる書籍の紹介

「プログラミング単語帳」を使って、プログラミングの単語を英単語のように学習してみませんか?
プログラミング単語帳には、Linuxの|やecho、wc、>&、などのような実務でよく使われる単語が数百以上収録されています。
この書籍には、プログラミングの単語の意味や読み方、単語の使い方がわかる例文などが掲載されており、いつでもどこでもプログラミングの学習ができます。

よく使われる単語にだけ絞って学習することができるので、効率的にプログラミングが学習できます。

1日5分の暗記でプログラミンが身に付く!プログラミング単語帳 公式ストアで発売中!

HTML編、CSS編、JavaScript編、PHP編、Ruby編、その他単語編の6シリーズ分が公式ストアにて販売中です。気になった方はぜひ購入してみてください。


Linuxを学べる「プログラミング単語帳」アプリ

プログラミング単語帳がアプリになりました!Linuxはもちろん、10種類のプログラミング言語の中から、よく使われる単語をスマホで学習できます。

収録単語は2,000単語以上!
現在は、HTML、CSS、JavaScirpt、PHP、Laravel、Ruby、Python、MySQL、Linux、など10カテゴリーの単語帳が1つのアプリに収録されています。

いつでも、どこでも、隙間時間を有効活用して、プログラミングを効率的に学べるので、ぜひダウンロードしてみてください。

2024年7月アップデート情報:「Laravel」カテゴリーが追加されましました!

2024年8月アップデート情報:「MySQL」「Linux」カテゴリーが追加されましました!


関連するそのほかの単語

echo

テキストを表示するコマンド

種類: 基本的な出力

wc

行数・単語数・文字数を数える

種類: テキスト操作

>&

出力先を指定

種類: ストリーム制御

info

詳細な情報表示

種類: マニュアルページ

runlevel

システムの動作モード

種類: システム初期化