Linux での xargs コマンドと例

不言
リリース: 2019-03-02 16:08:55
オリジナル
2722 人が閲覧しました

xargs は、標準入力からコマンド ラインを構築および実行するための Linux/Unix の強力なコマンドです。 1 つのコマンドの出力を受け入れ、それを引数として別のコマンドに渡します。 xargs は、スペースまたは改行で区切られた標準入力を受け取り、引数の後に項目を指定してコマンドを 1 回以上実行します。標準入力の空行は無視されます。

Linux での xargs コマンドと例

#例

例 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 サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート