簡體   English   中英

如何在Linux中的一個非常大的文件的開頭附加一行?

[英]How do I append a line to the beginning of a very large file in Linux?

我有一個大約45 GB的大文本文件,需要在文件的開頭和結尾添加一行。 實現這一目標的最快方法是什么? 我無法訪問任何大數據框架,如Hadoop等。

另外,如果我還要在這個大文件中做一個字符串替換,是否有類似的有效方法?

我嘗試使用echo命令,它確實需要很長時間。

您可以使用此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

使用sed ,你可以說:

sed -e '1ifoo' -e '$abar'

這會在文件頂部插入foo ,在文件末尾插入bar

$ seq 5 | sed -e '1ifoo' -e '$abar'
foo
1
2
3
4
5
bar

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM