{category}

Linux - プロセス置換

<()

小なりカッコ(テキスト処理とシェル

意味 コマンドの出力をファイルとして扱う


<()とは?

<()(小なりカッコ)は、Linuxのシェルでプロセス置換を行うための記法です。これを使うと、コマンドの出力を一時的なファイルとして扱うことができます。主に、ファイルを入力として期待するコマンドに、コマンドの出力を直接渡したい場合に使用します。

<()の具体的な使い方

ディレクトリ比較例

$ diff <(ls dir1) <(ls dir2)

👇出力結果

1d0
< unique_file_in_dir1.txt
3a3
> unique_file_in_dir2.txt

この例では、dir1とdir2という2つのディレクトリの内容をリストアップし、その結果を diff コマンドに渡して比較しています。<() を使用することで、一時ファイルを作成せずに直接 diff コマンドにリストを渡すことができます。

複数コマンドの出力を結合

$ cat <(echo "現在のディレクトリ:") <(pwd) <(echo "ファイル一覧:") <(ls -1)

👇出力結果

現在のディレクトリ:
/home/user
ファイル一覧:
file1.txt
file2.txt
documents

この例では、複数のコマンドの出力を<()を使って結合しています。echoコマンドで見出しを作成し、pwdコマンドで現在のディレクトリを表示し、lsコマンドでファイル一覧を表示しています。

<()に関するよくある質問

Q. <()の基本的な使い方は?
A. <()は、コマンドの出力を一時的なファイルとして扱うためのプロセス置換機能です。主に、ファイルを入力として期待するコマンドに、別のコマンドの出力を直接渡したい場合に使用します。
Q. <()と通常のパイプ|の違いは?
A. <()はコマンドの出力をファイルとして扱うため、ファイルを入力として期待するコマンドに使用できます。一方、パイプ|は単純にコマンドの出力を別のコマンドの入力として渡します。<()はより柔軟な使用が可能です。
Q. <()はどんな場面で役立つ?
A. <()は、ファイルの比較(diff)、複数のコマンド出力の結合、一時ファイルの作成を避けたい場合など、様々な場面で役立ちます。特に、複数のコマンド出力を同時に処理する必要がある場合に便利です。

<()が学べる書籍の紹介

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

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

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」カテゴリーが追加されましました!


関連するそのほかの単語

2>>

エラー出力を追記

種類: ストリーム制御

tr

文字の置換や削除を行う

種類: テキスト操作

grep

テキスト検索ツール

種類: テキスト操作

userdel

ユーザーアカウントの削除

種類: ユーザー管理

timedatectl

システム時刻と時間帯の管理

種類: 時間管理