パイプから受け取った文字列をファイルとして開く
xargsを使うことになる。
複数の行(ファイル名)を取得して、それぞれをつなげる
(下の例は、ファイル配下のmac.rails,opensuse.railsファイルを取得して
つなげている。)
$ ls -1 | grep -e mac.rails -e opensuse.rails | xargs cat
xargsは実行するコマンドとパイプから受け取った行を使って、
実行するコマンドに引数を渡すコマンドなので
実行時は、下のように展開される。
$ xargs 実行するコマンド パイプから受け取った行1 パイプから受け取った行2 ...
なので
空白スペースで予め引数を作成しておいても同じ結果になる。
$ files='mac.rails opensuse.rails'
$ echo $files | xargs cat
パイプから受け取る文字列がひとつだけでも
正しく動くが、
一つだけなら、パイプを使わずに、
$ cat $(ファイル名の文字列を返すコマンド)
でよい。
複数の行(ファイル名)を取得して、それぞれをつなげる
(下の例は、ファイル配下のmac.rails,opensuse.railsファイルを取得して
つなげている。)
$ ls -1 | grep -e mac.rails -e opensuse.rails | xargs cat
xargsは実行するコマンドとパイプから受け取った行を使って、
実行するコマンドに引数を渡すコマンドなので
実行時は、下のように展開される。
$ xargs 実行するコマンド パイプから受け取った行1 パイプから受け取った行2 ...
なので
空白スペースで予め引数を作成しておいても同じ結果になる。
$ files='mac.rails opensuse.rails'
$ echo $files | xargs cat
パイプから受け取る文字列がひとつだけでも
正しく動くが、
一つだけなら、パイプを使わずに、
$ cat $(ファイル名の文字列を返すコマンド)
でよい。
コメント
コメントを投稿