Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Awk 对某些行执行特定任务,复制所有其他行_Awk - Fatal编程技术网

Awk 对某些行执行特定任务,复制所有其他行

Awk 对某些行执行特定任务,复制所有其他行,awk,Awk,我在文件中有一组特定的行,我想在其中做一些更改,我只想复制所有其他行。我想代码应该是这样的 awk -v imin=5 -v imax=10 -v shift=5.54545 '{ (NR==5){ print $1+5,$2; } (NR==7){ print $1+shift,$2; } ((NR>imin)&&(NR<imax)){ print $1,$2,$3+shift; } (NR == EVERY_OTHER_LINE){ print $0; } }'

我在文件中有一组特定的行,我想在其中做一些更改,我只想复制所有其他行。我想代码应该是这样的

awk -v imin=5 -v imax=10 -v shift=5.54545 '{
(NR==5){ print $1+5,$2; }
(NR==7){ print $1+shift,$2; }
((NR>imin)&&(NR<imax)){ print $1,$2,$3+shift; }
(NR == EVERY_OTHER_LINE){ print $0; }
}' input_data.dat
awk-v imin=5-v imax=10-v shift=5.545'{
(NR==5){打印$1+5,$2;}
(NR==7){print$1+shift$2;}

(NR>imin)和&(NRI将遵循以下方法:

(NR==5){ print $1+5,$2; next }
(NR==7){ print $1+shift,$2; next }
((NR>imin) && (NR<imax)){ print $1,$2,$3+shift; next}
1;
当然,如果记录5和7只有2个字段,并且
imin
imax
之间的记录和
imin>7
之间有3个字段,那么就更容易了:

(NR==5){ $1+=5     }
(NR==7){ $1+=shift }
(NR>imin)&&(NR<imax){ $3+=shift }
1
(NR==5){$1+=5}
(NR==7){$1+=shift}

(NR>imin)和&(NRI将遵循以下方法:

(NR==5){ print $1+5,$2; next }
(NR==7){ print $1+shift,$2; next }
((NR>imin) && (NR<imax)){ print $1,$2,$3+shift; next}
1;
当然,如果记录5和7只有2个字段,并且
imin
imax
之间的记录和
imin>7
之间有3个字段,那么就更容易了:

(NR==5){ $1+=5     }
(NR==7){ $1+=shift }
(NR>imin)&&(NR<imax){ $3+=shift }
1
(NR==5){$1+=5}
(NR==7){$1+=shift}

(NR>imin)&&(NR您的代码中的
shift
是什么?是否
每隔一行
表示
每一奇数行
每一偶数行
除上面处理的行以外的每一行
或其他行?当它上面的任何一行被击中时,
NR>imin…
代码是否也被击中?您的问题是什么预计将包含一个简洁、可测试的样本输入和预期输出,以澄清您的需求,因此我们有一些东西可以测试潜在的解决方案。请看。@EdMorton,好的,我根据您的建议对其进行了修改,抱歉,我写得很匆忙。您仍然没有显示什么是
shift
,也没有包含样本输入t/输出。如果这会使您无法提供所有必要的信息,请不要匆忙写问题,因为这会使我们试图帮助您的人花费更长的时间-这会花费我们的时间而不是您的时间。您的代码中的
shift
是什么意思?
每隔一行
是指
每一行奇数行
还是
e非常偶数的行
除上面处理的行或其他行之外的每一行
或其他行?当上面的任何一行被击中时,
NR>imin…
代码是否也会被击中?您的问题包括一个简洁、可测试的样本输入和预期输出,以澄清您的需求,因此我们有一些东西我们可以测试一个潜在的解决方案。请看。@EdMorton,好的,我根据您的建议修改了它,对不起,我写得太匆忙了。您仍然没有显示什么是
shift
,也没有包含示例输入/输出。如果这会使您无法提供所有必要的信息,请不要匆忙写问题,因为这会让我们中的人尝试为帮助您花费的时间比必要的时间要长—它花费了我们的时间而不是您的时间。