我在 linux 的文件中有几行,我正在尝试打印没有 |
且没有一些参数的行
$cat file
2013-07-15,Provider 1.99,3|30000055|2347|0,12222,1,3,0,0,0,19,aaa,bbb
2013-07-15,Provider 1.99,3|30000055|2347|0,12222,44,12,0,0,0,33,aaa,bbb
我需要这样的输出:
2013-07-15,Provider,2347,12222,1,3,0,0,0,19,aaa,bbb
2013-07-15,Provider,2347,12222,44,12,0,0,0,33,aaa,bbb
我正在尝试使用 awk,但我遇到了一些问题。
最佳答案
如果你的线条有相似的模式你想保留那么你可以这样做:
awk 'BEGIN{FS=OFS=","}{$2="Provider";$3=2347}1' file
如果您不知道模式是什么,那么这里有一个更通用的模式:
awk 'BEGIN{FS=OFS=","}{split($2,a,/ /);split($3,b,/\|/);$2=a[1];$3=b[3]}1' file
如果它不能解决您的问题,我很确定它会帮助您获得一个。
关于linux - awk打印一行的一些参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17688865/