パイプから受け取った文字列をファイルとして開く

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 $(ファイル名の文字列を返すコマンド) 

でよい。

コメント

人気の投稿