在非常大的文件的开头添加两行的有效方法

Sud*_*dar 4 unix command-line sed text-files

我有一组非常大(每个GB几个)的文本文件.我需要在每个文件的开头添加两行.

我尝试使用以下命令使用sed

sed -i '1iFirstLine'
sed -i '2iSecondLine'
Run Code Online (Sandbox Code Playgroud)

sed的问题在于它循环遍历整个文件,即使必须在开头只添加两行,因此需要花费大量时间.

有没有另一种方法可以更有效地执行此操作,而无需读取整个文件?

小智 5

你应该试试

echo "1iFirstLine" > newfile.txt
echo "2iSecondLine" >> newfile.txt
cat oldfile.txt >> newfile.txt
mv newfile.txt oldfile.txt
Run Code Online (Sandbox Code Playgroud)