xargs は、標準入力からコマンド ラインを構築および実行するための Linux/Unix の強力なコマンドです。 1 つのコマンドの出力を受け入れ、それを引数として別のコマンドに渡します。 xargs は、スペースまたは改行で区切られた標準入力を受け取り、引数の後に項目を指定してコマンドを 1 回以上実行します。標準入力の空行は無視されます。
例 1: 多数のファイルを別のフォルダーにコピーします。
ファイルの長いリストをコピーする必要がある場合があります。この場合、cp コマンドは「パラメーター リストが長すぎます」というエラーで失敗します。 xargs を使用してこのタスクを実行できます。# find /home/linuxman/public_html/tecadmin.net/ -type f | xargs -n1 -i cp {} /var/www/backup/
例 2: フォルダーから複数のファイルを削除します。
フォルダーから大量のファイルを削除したい場合があります。以下の例では、/var/log ディレクトリからすべての .log ファイルを削除します。# find /var/www/tmp/ -type f | xargs rm -f上記のコマンドでは、スペースを含むファイルは削除できません。 xargsコマンドでスペースを扱うには以下のコマンドが必要です。
# find /var/www/tmp/ -type f -print0 | xargs -0 rm -f
例 3: 複数のファイルの行数を数えます。
次の例では、/opt ディレクトリとそのサブディレクトリにある各 .txt ファイルの行数をカウントします。# find /opt -name "*.txt" | xargs wc -l名前にスペースが含まれるファイルを処理するには、以下が必要です。次のコマンドを使用します。
# find /opt/ -name "*.log" -print0 | xargs -0 wc -l
例 4: すべての構成ファイルをバックアップします。
システム内のすべての設定ファイル (拡張子 .conf) をバックアップする場合は、次のコマンドを使用してください。# find / -name "*.conf" | xargs tar czf config.tar.gz # ls -l config.tar.gz -rw-r--r--. 1 root root 193310 Apr 1 13:26 config.tar.gz
例 5: xargs でのカスタム区切り文字の使用。
xargs コマンドでカスタム デリーターを使用することもできます。デフォルトではスペースと改行が区切り文字として使用されます。 -d パラメータを使用して区切り文字を定義します。# echo "1,2,3,4,5" | xargs -d, echo出力
1 2 3 4 5
例 6: xargs を使用して出力を別々の行に表示します。
例 5 では、出力は 1 行で表示されますが、各出力を個別の行で表示するように指定することもできます。
# echo "1,2,3,4,5" | xargs -d, -L 1 echo出力
1 2 3 4 5
例 7: ファイル名またはパス内の空白の処理。
名前内のスペースを処理するには、-print0 と find コマンドを使用し、-0 と xargs コマンドを引数として使用します。
# find /tmp -print0 | xargs -0 -L 1 echoこの記事はここで終了しました。さらにエキサイティングなコンテンツについては、PHP 中国語 Web サイトにある他の関連コラム チュートリアルに注目してください。 ! !
以上がLinux での xargs コマンドと例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。