xargsコマンドを使用すると、あるコマンドの出力を別のコマンドの入力として渡すことができます。出力をファイルに書き込む必要はありません。
他のコマンドからの出力を相互参照する複数のコマンドの使用を必要とする可能性のあるいくつかのタスクは、xargsの使用に大いに役立ちます。今日のコマンドとコマンドの使用法のいくつかを理解してみましょう。
xargsとは何ですか?
Xargsを使用すると、出力を別のコマンドへの入力として渡すことができます。 grepのようなコマンドを使用すると、ユーザーは入力をパラメーターとして使用できますが、xargsは、入力を引数の形式にすることでその重要性を示します。
このコマンドは、ほとんどの場合、配管を使用して他のコマンドと組み合わせて使用されます。コマンドの基本的な使用法を理解しましょう。
Linuxでのxargsコマンドの基本
コマンドを理解する最良の方法は、その構文を理解することです。 Linuxでのxargsコマンドの構文は次のようになります。
xargs [option] [command]
ここで、[コマンド]は、標準入力で実行したい任意のコマンドにすることができます。コマンドを指定しない場合、xargsユーティリティはデフォルトのコマンドを使用します。
xargsユーティリティのデフォルトのコマンドは「echo」です。
xargsユーティリティを使用すると、コマンドの作成方法と実行方法を指定するためのいくつかのオプションを使用できます。 Linuxでxargsユーティリティが提供する一般的に使用されるオプションのリストを次に示します。
オプション | 効果 |
-0 | このオプションは、標準の入力文字列の項目が空白ではなくNULL文字を使用して終了することをxargsユーティリティに指定するために使用されます。 |
-ファイル名 | ファイルから読み取る |
-r | 入力が空の場合は実行しないでください |
-d delim | 区切り文字を指定してください |
-x | -sで指定された入力サイズの場合は終了します を超えています。 |
-置き換えます-str | これは、文字列をreplace-strとして宣言するために使用されます。次に、replace-strのすべてのオカレンスが、標準入力からのパラメーターまたは引数によって交換されます。 |
–ヘルプ | このオプションは、xargsユーティリティのヘルプメッセージを表示するために使用されます。これには、xargsユーティリティで使用できるすべての可能なオプションが含まれます。 |
このリストでは、xargsユーティリティで使用される基本的なオプションについて説明しました。 xargsのマニュアルページを調べることを忘れないでください。
xargsコマンドの使用
これで、Linuxのxargsコマンドとそのパラメーターについての理解が深まりました。この知識をxargsユーティリティのアプリケーションに使用するときが来ました。このチュートリアルでは、xargsユーティリティの使用方法を学ぶためにいくつかの例を見ていきます。
xargsのデフォルトの動作
前述したように、xargsコマンドは、その後にコマンドが指定されていない場合、入力引数に対してデフォルトでechoコマンドを実行します。
私たちの主張を検証するためにそれが実際に行われているのを見てみましょう。
ls -ls | xargs
上のスクリーンショットでわかるように、lsコマンドの出力は、echoおよびxargsコマンドを通過したときに、改行やフォーマットなしで出力されます。
名前のリストを含むファイルを使用して複数のディレクトリを作成する
名前のリストが1行にある場合は、スペースで区切ってディレクトリ名をコピーして貼り付けることができ、mkdirコマンドでディレクトリが作成されます。
しかし、作成したいディレクトリのすべての名前のリストを含むファイルがある場合はどうなるでしょうか。ディレクトリ名のリストから複数のディレクトリを作成する方法を見てみましょう。
cat <filename> | xargs mkdir
上のスクリーンショットでわかるように、catコマンドの出力を直接mkdirにパイプしようとしましたが、失敗しました。しかし、xargsを追加することで、コマンドを実行し、ディレクトリを正常に作成することができました。
特定の文字列を含むファイルを検索
Grepは、ファイル内の文字列を検索したり、メッセージを出力したりできます。ただし、ファイルを検索することはできません。 findコマンドはファイルを検索できますが、その中のコンテンツは検索できません。 xargsコマンドは、これらの両方を接続するのに役立ちます。
find <search directory> -name "<name>" | xargs grep -E 'fatal|Warning'
/ var / logディレクトリでファイル「syslog」を検索し、「fatal」または「Warning」という単語を含む行を探しました。この場合、必要なファイルがわかっているので、それをgrepに直接渡すことができます。ただし、ファイルパスがわからない場合は、findコマンドを使用してファイルを検索し、パスをgrepに渡すことができます。
特定の拡張子を持つファイルを削除する
ファイルやディレクトリの作成と識別と同様に、xargsユーティリティもシステムからファイルを取り除くのに役立ちます。この例では、現在のディレクトリにあるすべてのテキストファイルを削除します。
find <path> -name <filename> | xargs rm -rf
ここで、検索 コマンドは、最初に.txt拡張子を持つファイルを検索します。次に、この出力は rmに送信されます。 コマンド。
このコマンドは、 findからファイルを取得します コマンドを実行し、それらを削除します。このコマンドを正常に実行すると、次のような出力が得られます。
結論
Linuxのxargsコマンドは、コマンドラインからの標準入力を使用してコマンドを作成および実行するための強力なツールです。別のコマンドの引数の代わりに1つのコマンドの出力を使用できるようにすることで、コマンドラインの使用効率を高めます。
このコマンドラインユーティリティは、初心者と経験豊富なLinuxユーザーの両方に定期的に広く使用されています。
このチュートリアルが、Linuxのxargsコマンドを理解するのに役立つことを願っています。このチュートリアルでは、xargsユーティリティの基本的な使用法についてのみ説明したので、必ず自分でコマンドを調べてください。
フィードバック、質問、提案があれば、下のコメントでお気軽にご連絡ください。