我有一个 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一样吗?
非常感谢!
与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 ...
使用 sed,将每行的末尾替换为附加文本:
sed 's/$/ 1/' file
如果您需要将修改保存回原始文件,请使用
sed -i 's/$/ 1/' file
awk '{print $0,1}' file
会做的。