Memo/Linux/xargs

https://dexlab.net:443/pukiwiki/index.php?Memo/Linux/xargs
 

xargs


任意の箇所に引数を指定

  • シングルクオート「'」で括るのが重要。ダブルクオートではうまく出来ない
echo a b c d | xargs -n 2 bash -c 'echo $0,$1'
a,b
c,d

xargsで複数コマンドを実行

  • CenOS 6/7の場合: bash -c 'cmd1 {}; cmd2 {}' のようにする。例:ISO-8601形式の日付を持つログを探す
sudo find /var/log/ -name '*.log' -type f | xargs -i bash -c 'echo "-- {}"; sudo tail -n 5 {} | grep -P "\d{4}-\d{2}-\d{2}T"'

よく使うオプション

  • t: 実行時のコマンド表示
  • p: 実行時の確認
  • P: 並列度の指定
  • n: 処理する引数の数。2の場合「echo $0, $1」のように使える
  • i: -I{} と同等。「echo {}」のように使える

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2018-09-15 (土) 07:31:38 (11d)