我正在尝试使用以下awk
命令。我的目标是使用数字序列使用序列的值在我的文件中创建一个新列。最后,我想生成包含每个新列的CSV文件:
for i in $(seq 0 0.5 70); do
awk -F"," 'BEGIN {OFS = ","} {$7=$(echo $i); print}' ClassificationTest.csv > new_columns_$i.csv;
done
输入CSV文件如下所示:
Sample1,Probe1,Temp1,ProbeType1,SampleType1,Ratio1
Sample2,Probe2,Temp2,ProbeType2,SampleType2,Ratio2
预期结果应如下所示:
名为new_columns_20.0.csv
的文件Sample1,Probe1,Temp1,ProbeType1,SampleType1,Ratio1,20.0
Sample2,Probe2,Temp2,ProbeType2,SampleType2,Ratio2,20.0
我的目标是为数字序列的每个值提供一个文件。我很难将序列的值作为参数传递。有人可以提供有关如何执行此操作的帮助吗?谢谢。
答案 0 :(得分:3)
这是一种做法
for i in {0..140};
do awk -F, -v OFS=, -v i=$i '{$7=i/2}1' input > output_$i;
done
或完全在awk
awk -F, -v OFS=, '{for(i=0;i<=70;i+=0.5)
{$7=i; print > "output_"i}}' input