Memo/Linux/xargs

http://dexlab.net/pukiwiki/index.php?Memo%2FLinux%2Fxargs
 

xargs


任意の箇所に引数を指定

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

xargsで複数コマンドを実行

  • CenOS 6/7の場合: bash -c 'cmd1 {}; cmd2 {}' のようにする。例:ISO-8601形式の日付を持つログを探す
    1. 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-04-27 (金) 12:06:55 (29d)