awkコマンドを使用してファイルを分割し、それに応じて名前を変更する必要があります。 substringコマンドを使用してパラメータを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:2:5} '{filename = filestem; print >> filename}' $file--$each
done
done
答え1
あなたには2つの選択肢があります
awkにサブストリングを適用する
$ awk -v filestem="$file--$each" \ '{filename = substr(filestem, 3, 6);print >> filename}'
$file--$each
変数に設定し、その変数を部分文字列で囲みます。$ filestem="$file--$each" $ awk -v filestem="${filestem:2:5}" \ '{filename = filestem; print >> filename}'