【LPIC1】標準入力をまとめてコマンドの引数として渡す(xargs)

LPIC1

1.xargsとは

標準重力から受け取った内容を引数にしてコマンドを実行するコマンドで、コマンド「find」等で複数行のファイル名や文字列を出力して、それをまとめて別コマンドに渡すとき等に使う。

2.使い方

(1)書式

コマンド | xargs [オプション] [受け取り手コマンド]
例)echo あいうえお かきくけこ さしすせそ | xargs rm
→echoでファイル名3つを出力後、rmでファイルを削除。

(2)オプション

①xargs -n N※任意の数字

N個ずつまとめて引数にしてコマンドを実行。※「xargs -n 1」なら1行ずつ渡すことになる。

②xargs -d

区切り文字を指定して引数にする。

③xargs -0

NULL文字区切りを使う。※find -print0と相性がいい

④xargs -p

実行前に確認プロンプトが表示される

⑤xargs -r

標準入力が空の場合、コマンドを実行しない。

⑥xargs -I {}

プレースホルダの指定を行う。
例)echo “file1 file2” | xargs -n 1 -I {} mv {} {}.bak
→コマンド「mv」内の{}にfile1とfile2が1回ずつ入り、「mv file1 file1.bak」「mv file2 file2.bak」というコマンドとして実行される。

タイトルとURLをコピーしました