Min*_*lla 5 unix linux bash sed
我有两个文件data.txt
和results.txt
,假设有5行data.txt
,我想复制所有这些行,并将其粘贴文件results.txt
从行号开始4.
以下是一个示例:
Data.txt文件:
stack
ping
dns
ip
remote
Run Code Online (Sandbox Code Playgroud)
Results.txt文件:
# here are some text
# please do not edit these lines
# blah blah..
this is the 4th line that data should go on.
Run Code Online (Sandbox Code Playgroud)
我尝试sed
了各种组合,但我无法使它工作,我不确定它是否也适合这个目的.
sed -n '4p' /path/to/file/data.txt > /path/to/file/results.txt
Run Code Online (Sandbox Code Playgroud)
以上代码仅复制第4行.这不是我想要实现的目标.正如我上面所说,我需要复制所有行data.txt
并粘贴它们,results.txt
但它必须从第4行开始,而不修改或覆盖前3行.
任何帮助是极大的赞赏.
编辑:
我想覆盖文件results.txt中从第4行开始的复制数据.因此,我希望保留前3行而不进行修改,并使用从文件复制的数据覆盖文件的其余部分.
data.txt
这是一种在 cron 中运行良好的方法。丢失数据或损坏文件的可能性较小:
# preserve first lines of results
head -3 results.txt > results.TMP
# append new data
cat data.txt >> results.TMP
# rename output file atomically in case of system crash
mv results.TMP results.txt
Run Code Online (Sandbox Code Playgroud)