特定の形式のファイルを分割し、後で名前を変更する必要があります...
分割はうまく機能しますが、awkコマンドで$ file - $ eachを参照することはできません。
どのようなヒントがありますか?
for file in *.csv
do
split -n 3 -d -a 2 "$file" "$file--"
for each in $(seq -w 2 10)
do
echo $file--$each
awk '{filename = $file--$each ".txt" ; print >> filename}' $file--$each
done
done
ベストアンサー1
シェル変数は一重引用符内では拡張されません。この問題を処理する正しい方法は、コマンドラインにawk変数を渡すことです。
for file in *.csv
do
split -n 3 -d -a 2 "$file" "$file--"
for each in $(seq -w 2 10)
do
echo $file--$each
awk -v filestem="$file"--"$each" '{filename = filestem".txt";
print >> filename}' $file--$each
done
done