我想在一个单词(alter#)匹配后打印圆形数字。
input.txt中:
g11_21 g11_22 g11_23 g11_24
g11_25 g11_26 g11_27 g11_28
g11_29 g11_30 g11_31 g11_32
temper alter#
9.145e-06 8.486e-06 0.5500 0.5500
0.5500 0.5500 0.5500 0.5500
output.txt的:
0 0 1 1
1 1 1 1
我尝试使用以下awk代码。它可以对数字进行舍入但我认为我没有正确打印出来。任何帮助表示赞赏。
awk '/alter#/,EOF {printf("%.0f\n",$0)}' input.txt > output.txt
答案 0 :(得分:2)
关注awk
可能对您有帮助。
awk '{
for(i=1;i<=NF;i++){
if(!flag){
if($i == "alter#"){
flag=1}
};
if(flag && $i && $i != "alter#"){
val=1;
printf ("%0.0f ", $i)}
};
if(val){
print ""
};
val=""
}' Input_file
输出如下。
0 0 1 1
1 1 1 1
答案 1 :(得分:2)
gawk
awk 'BEGIN {CONVFMT="%.0f"}
f {for(i=1;i<=NF;i++) $i=$i+0; print};
/alter#/{f=1}'