awk多行和打印结果
我想打印一些特定部分的结果与awk,在多个模式选择 我拥有的是(filetest): 我希望:awk多行和打印结果,awk,ksh,Awk,Ksh,我想打印一些特定部分的结果与awk,在多个模式选择 我拥有的是(filetest): 我希望: 1 - B : 2 所以,只有第一行的结果,然后是整个第二行。 破折号是我加的 我有这个: awk -F': ' '$1 ~ /A|B/ { printf "%s", $2 "-" }' filetest 结果: 1 -2 - 1 - A 2 - B 我不能得到完整的第二行,而不能只显示第一行的结果 awk -F': ' '$1 ~ /A|B/ { printf "%s",
1 - B : 2
所以,只有第一行的结果,然后是整个第二行。
破折号是我加的
我有这个:
awk -F': ' '$1 ~ /A|B/ { printf "%s", $2 "-" }' filetest
结果:
1 -2 -
1 - A 2 - B
我不能得到完整的第二行,而不能只显示第一行的结果
awk -F': ' '$1 ~ /A|B/ { printf "%s", $2 "$1" }' filetest
结果:
1 -2 -
1 - A 2 - B
是否有任何方法可以打印在同一行中,正好是awk所需的列/行?
在我的例子中,R1C2-R2C1:R2C2
谢谢 这将满足您的期望:
$ awk -F: 'NR%2 {printf "%s - ", $2; next}1' filetest
1 - B : 2
awk -F: '/^A/{printf "%s -", $2}/^B/{print}' filetest
这将满足您的期望:
awk -F: '/^A/{printf "%s -", $2}/^B/{print}' filetest
你可以试试这个
awk -F: 'NR%2==1{a=$2; } NR%2==0{print a " - " $0}' file
输出
1 - B : 2
你可以试试这个
awk -F: 'NR%2==1{a=$2; } NR%2==0{print a " - " $0}' file
输出
1 - B : 2
我可能会同意,因为它清晰、简单,并且不与您的数据值相耦合,只是为了展示另一种方法:
$ awk '{printf "%s", (NR%2 ? $3 " - " : $0 ORS)}' file
1 - B : 2
我可能会同意,因为它清晰、简单,并且不与您的数据值相耦合,只是为了展示另一种方法:
$ awk '{printf "%s", (NR%2 ? $3 " - " : $0 ORS)}' file
1 - B : 2
在gnu awk上试用
awk -F':' 'NR==1{s=$2;next}{FS="";s=s" - "$0;print s}' filetest
在gnu awk上试用
awk -F':' 'NR==1{s=$2;next}{FS="";s=s" - "$0;print s}' filetest
记录之间是否总是有多余的空行?或者是复制粘贴问题?可能是复制粘贴问题。行与行之间没有空格。记录之间是否总是有多余的空行?或者是复制粘贴问题?可能是复制粘贴问题,是的。两行之间没有空格。