ファイル名一覧から新規ファイルを作成
例えば、以下のようなテキストファイル(filelist.txt)があるとします。
aaa.html bbb.html ccc.html ddd.html eee.html
このリストをもとに新規ファイルを作成するには、毎回無題の新規ファイルを作成しそのたびにリネームをするという非効率な作業が必要になりますが、 xargsというコマンドを利用することで短時間で解決することができます。
cat filelist.txt | xargs -n 1 touch
xargsコマンドの使い方は以下を参照ください。
今回のような使い方のほかに、特定のファイルを検索し、そのファイルに対してリネームや削除を行うなどといったケースでも利用されます。
また、上記の例ではシンプルに空のファイルを作成するのみですが、cpコマンドのように引数を複数とる場合は、「-Jオプション」または「-iオプション」を使用して任意の文字列に置換をします。
下記は、新規作成ではなくテンプレートファイル(__temp__.html)をコピーしつつ、そのファイル名をファイルリストから命名するコマンドになります。
このとき、ファイルリストから取得したファイル名は「%」という文字列に置換されています。
cat filelist.txt | xargs -n 1 -J% cp __temp__.html %