如何调用输出文件作为输出第4列中的字符串(或根据输入的第i行的第4列)?
我尝试过:
for i in {1..321}; do
awk '(FNR==i) {outfile = $4 print $0 >> outfile}' RV1_phase;
done
或
for i in {1..321}; do
awk '(FNR==i) {outfile = $4; print $0}' RV1_phase > "$outfile";
done
输入文件:
1 2 2 a
4 5 6 f
4 4 5 f
....
....
所需输入i = 1名称:a
1 2 2 a
目标:我有在gnuplot中绘制的数据,我想绘制一组以字符串命名的图形,以了解哪个点来自哪个文件。该点将被着色。我需要获取用于在gnuplot中进行绘图的文件,因此我想使用我的问题中的循环来创建它们。
简单
for i in {1..321}; do
awk '(FNR==i) {print $0 >> $4}' RV1_phase;
done
第一次尝试的问题是,您没有使用;
将分配给outfile
的分配与print
命令分开。不过,不需要单独的变量。]>
您也不需要bash
循环:
awk '1 <= FNR && FNR <= 321 {print $0 >> $4}' RV1_phase;