• BPnet
  • ビジネス
  • IT
  • テクノロジー
  • 医療
  • 建設・不動産
  • TRENDY
  • WOMAN
  • ショッピング
  • 転職
  • ナショジオ
  • 日経電子版
  • PR

  • PR

  • PR

  • PR

  • PR

Linuxコマンド集

【xargs】標準入力から生成したコマンドラインを実行する

中島 能和=リナックスアカデミー 2014/04/11 日経Linux

xargs(1)

標準入力から生成したコマンドラインを実行する

構文

xargs [オプション] [コマンド [初期引数]]

オプション

-a, --arg-file=FILE標準入力からではなくファイルFILEから読み込む
--null, -0入力される項目の区切りとしてホワイトスペース(空白、改行)ではなくNULL文字を使用する(引用符やバックスラッシュを特殊文字として扱わない)
-delimiter=DELIM, -d DELIM入力される項目の区切りとしてDELIMを使用する
-E EOFSTRファイル終端文字としてEOFSTRを使用する(EOFSTR以降の入力は無視される)
--eof[=EOFSTR], -e[EOFSTR]ファイル終端文字としてEOFSTRを使用する(POSIX非準拠なので-Eを推奨)
-I REPLACE-STR構文に初期引数が指定されているとき、初期引数内のREPLACE-STRを標準入力から読み込まれたものに差し替える(「-x」および「-L 1」が自動的に指定される)
-i[REPLACE-STR], --replace[=REPLACE-STR]REPLACE-STRが指定されていれば-Iと同じで、REPLACE-STRが指定されていなければ「-I{}」と同じ
-L MAX-LINESコマンドライン1つにつき最大MAX-LINES行の入力を使用する(「-x」が自動的に指定される)
-l[MAX-LINES], --max-lines[=MAX-LINES]-Lオプションと同じだが、MAX-LINES引数を指定しなくてもよい(その場合はMAX-LINESは1とみなされる)
-n MAX-ARGS, --max-args=MAX-ARGSコマンドライン1つにつき最大MAX-ARGS個の引数を使用する
-p, --interactiveコマンドライン1つごとに実行するかどうかを問い合せる(「-t」が自動的に指定される)
-r, --no-run-if-empty標準入力が全部空白の場合はコマンドを実行しない
-s MAX-CHARS, --max-chars=MAX-CHARSコマンドライン1つにつき最大MAX-CHARS文字の入力を使用する
-t, --verbose実行前にコマンドラインを標準エラー出力に出力する
--show-limitsコマンドラインの長さの上限を表示する
-x, --exit生成されたコマンドラインが上限を超えていたら終了する
-P MAXPROCS, --max-procs=MAXPROCSMAXPROCSプロセスまで同時に実行する(デフォルトは1。0ならできるだけ多くのプロセスを同時に実行しようとする)

説明

指定されたコマンドと初期引数に、標準入力から読み込んだ引数をつけてコマンドラインを生成し、実行する。コマンドが指定されなかった場合はechoに送られる。

使用例

testdirディレクトリ内にある「*.rb」ファイルそれぞれの先頭10行を表示する。

$ ls testdir/*.rb | xargs head

testdirディレクトリ内のファイルを、/tmpディレクトリ以下に拡張子「.bk」を付けてコピーする。

$ ls testdir | xargs -I{} cp testdir/{} /tmp/{}.bk

あなたにお薦め

連載新着

連載目次を見る

今のおすすめ記事

  • 【記者の眼】

    ラオスの古都、そして世界も日本も席巻する中国アプリ

     9月末、遅い夏休みを取って「ラオス」へ旅をしてきました。急に行き先を決めたこともあり、ガイドブックすら読まずに下調べゼロで入国。「一体現地に何があるんだろう」「水は飲めるのか」「治安も不安だ」――。様々なネガティブイメージが頭によぎりつつタラップから降り立った場所は、古都ルアンパバーン。

ITpro SPECIALPR

What’s New!

経営

アプリケーション/DB/ミドルウエア

クラウド

運用管理

設計/開発

サーバー/ストレージ

クライアント/OA機器

ネットワーク/通信サービス

セキュリティ

もっと見る