我在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
如果它不能解决你的问题,我相信它会帮助你找到一个。