从shell脚本中的一行中剪切特定部分

时间:2013-03-14 22:06:07

标签: linux shell awk

我是shell脚本的新手。我有一个包含这样的记录的文件:

aaaa,-1,0
bbbb,2,3
cccc,-5,-10
dddd,0,100

我想编写一个脚本,使列表看起来像这样:

1 aaaa -1 0
2 bbbb  2 3
3 cccc -5 -10
4 dddd  0 100

有人可以帮我解决这个问题吗? 感谢

1 个答案:

答案 0 :(得分:0)

试试这一行:

awk '{gsub(/,/," ");print NR,$0}'  file

如果你想获得更好的输出,试试这个:

awk '{gsub(/,/," ");print NR,$0}'  file|column -t

示例:

kent$  echo "aaaa,-1,0
bbbb,2,3
cccc,-5,-10                                            
dddd,0,100"|awk '{gsub(/,/," ");print NR,$0}'          
1 aaaa -1 0
2 bbbb 2 3
3 cccc -5 -10
4 dddd 0 100

|column -t

kent$  echo "aaaa,-1,0
bbbb,2,3
cccc,-5,-10                                            
dddd,0,100"|awk '{gsub(/,/," ");print NR,$0}'|column -t
1  aaaa  -1  0
2  bbbb  2   3
3  cccc  -5  -10
4  dddd  0   100