gpt4 book ai didi

bash - 用其他文本文件中的行替换文本文件中的行

转载 作者:行者123 更新时间:2023-12-05 01:47:29 24 4
gpt4 key购买 nike

我的问题是以下问题的变体:

bash: replace an entire line in a text file

问题是用给定的字符串(替换行)替换文件的第 N 行。就我而言,我不能只键入替换行,但我必须从另一个文件中读取它。

例如:

文本文件 1:

my line
your line
his line
her line

文本文件 2:

our line

我想用 textfile2 中的行替换 textfile1 的第二行。

我以为我可以只读textfile2

while IFS= read SingleLine 

等然后使用 $SingleLine 作为替换行,但我失败了......根据我使用的引号类型(请原谅我的无知......)我最终用文本 $SingleLineSingleLine 或只是收到一条错误消息:-[

我相信你能帮到我!!

编辑解决方案:我选择了小改动的内联解决方案

sed '2d;1r textfile2' textfile1 > newfile1 

要替换第 N 行,解决方案是(有关解释,请参阅对已接受解决方案的评论)

sed 'Nd;Mr textfile2' textfile1 > newfile1 

N 是所需的行号,M=N-1。

谢谢大家!

最佳答案

使用sed:

sed '2d;1r file2' file1
my line
our line
his line
her line

使其内联编辑:

sed -i.bak '2d;1r file2' file1

关于bash - 用其他文本文件中的行替换文本文件中的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26009752/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com