我有一个txt文件(大小从10M到1G),如:
1 2
2 3
4 5
5 6
7 6
1 9
...
我需要进入
1 2 1
2 3 1
4 5 1
5 6 1
7 6 1
1 9 1
...
我应该使用什么命令?这需要多久?我正在使用Mac。我想它和Linux一样吗?
非常感谢!
答案 0 :(得分:2)
使用awk
:
$ awk '$0=$0" 1"' file
1 2 1
2 3 1
4 5 1
5 6 1
7 6 1
1 9 1
它将" 1"
添加到$0
,其中包含完整的一行。然后它会打印每一项,因为默认的awk操作是{print $0}
。
使用sed
:
$ sed 's/$/ 1/' file
1 2 1
2 3 1
4 5 1
5 6 1
7 6 1
1 9 1
它会将$
(行尾)替换为" 1"
,以便最后将" 1"
附加到每一行。
需要多长时间?
应该很快。要量化它,请在命令前附加time
:
$ time awk ...
答案 1 :(得分:2)
sed 's/$/ 1/' file
如果您需要将修改保存回原始文件,请使用
sed -i 's/$/ 1/' file
答案 2 :(得分:1)
awk '{print $0,1}' file
会这样做。