我有一个大约45 GB的大文本文件,需要在文件的开头和结尾添加一行。实现这一目标的最快方法是什么?我无法访问任何大数据框架,如Hadoop等。
另外,如果我还要在这个大文件中进行字符串替换,是否有类似的有效方法?
我尝试使用echo命令,它确实需要很长时间。
答案 0 :(得分:3)
您可以使用此sed
在开头添加一行:
sed -i '1s/^/your heading line\n/' file
到最后:
echo "my new line" >> file
$ cat a
hello
bye
$ sed -i '1s/^/new line sample\n/' a
$ cat a
new line sample
hello
bye
$ echo "my new line" >> a
$ cat a
new line sample
hello
bye
my new line
答案 1 :(得分:2)
使用sed
,您可以说:
sed -e '1ifoo' -e '$abar'
这会在文件顶部插入foo
,在文件末尾插入bar
。
$ seq 5 | sed -e '1ifoo' -e '$abar'
foo
1
2
3
4
5
bar