[英]print the value of last not null column in awk
我有一个如下所示的文件,想在 awk 中打印最后一个非空列的值。
输入
a|||||||
a|b|d|||||
c|d|e|f||||
f|e||||||
f|e|g|||||
输出:
a
d
f
e
g
你可以使用这个awk
:
awk -F '|' '{sub(/[|]+$/, ""); print $NF}' file
细节:
sub(/[|]+$/, "")
函数去掉所有空|
s 行结束前print $NF
打印最后一个非空字段a
d
f
e
g
我得到了解决方案
awk -F'|' '{ for (i = NF; i > 0 ; i--) if($i!="") {print $i; break;} }' <file name>
有用
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.