【发布时间】:2018-08-05 23:46:41
【问题描述】:
我有 2 个 txt 文件:file1 和 file2 我想用 bash 命令将 file2 的第一行替换为 file1 的第一行
文件 1:
aaaaaaaa
bbbbbbbb
cccccccc
文件2:
zzzzzzzz
yyyyyyyy
wwwwwwww
file2 的预期结果:
aaaaaaaa
yyyyyyyy
wwwwwwww
这不能用 sed 来完成,因为您不知道用什么替换什么...我是对的?那该怎么做呢?
编辑:
所以在我的特殊情况下(我在我的 openwrt 路由器中这样做),有效的是:
sed -i "1c $(sed 1q file1)" file2
感谢 @Sundeed 提供的链接,该链接解释了为什么某些命令只在 shell 中显示结果而不在文件中写入:https://mywiki.wooledge.org/BashPitfalls#cat_file_.7C_sed_s.2Ffoo.2Fbar.2F_.3E_file
【问题讨论】:
-
你自己尝试了什么?
-
我不是 bash 大师,我有一些例子说明如何用你知道的文件中的另一个文本替换你知道的文本。我没有找到任何示例,其中包含您不知道的文本从一个文件到另一个文件中的文本您也不知道。这就是我问的原因。