私のフォルダにtemplate.inddというファイルがあります。同じフォルダにこのファイルの複数のコピー(何百もの)を作成し、各コピーの名前をテキストファイルに含まれる名前に変更したいと思います。テキストファイルの名前はランダムで連続しておらず、スペースで区切られます。
私はMac OSXバージョン10.6.8で端末を使用しています。
これを行う方法はありますか?
答え1
xargs
解決策
グヌスラム:
xargs -a file.txt -n 1 cp template.indd
Macで(@ Stéphane Chazelasに感謝します)
xargs -n 1 < file.txt cp template.indd
説明する
-a
(--arg-file
):ファイルから項目を読み取る(GNU Bashのみ)<
GNU以外の代替-a
-n 1
(--max-args
):実行ごとに1つの項目のみが追加されます。cp template.indd
:command xargs は実行時にエントリを追加します。
答え2
以下を試してくださいfile.txt
。ファイル名を含むファイルはどこにありますか?
for file in $(cat file.txt);do cp template.indd "${file}";done