foo.txt
各行にフォルダ名を持つファイルがあります。
folder_1
folder_2
folder_3
私はこのようなことをしたい:
cat foo.txt | xargs -I {} echo 'function {}() { return stuff; }' > {}/function.js
つまり、ファイルを1行ずつ読み、各行を使用して文字列を作成し、その文字列が格納されているファイルの名前を作成したいと思います。
Bashのコマンドラインで同様の操作をどのように実行できますか?
ベストアンサー1
ファイルのすべての行を繰り返すだけです。
while read line
do
echo "function $line() { return stuff; }" > "$line/function.js"
done < foo.txt
もちろん、これはすでに存在していると仮定しますfoo.txt
。それ以外の場合は、まずを使用して作成しますmkdir "$line"
。
awk
ループの代わりに使用する別の方法は次のとおりです。
awk '{printf("%s\n","function "$0"() { return stuff; }")>$0"/function.js"}' foo.txt