String 使用sed将动态字符串从一个文件移动并附加到第二个文件

String 使用sed将动态字符串从一个文件移动并附加到第二个文件,string,sed,append,move,String,Sed,Append,Move,我试图从文件中移动一个动态字符串,并使用sed将其附加到第二个文件中 到目前为止,我所尝试的: sed -i -e '/To300/{w /home/test/test1.txt' -e 'd}' /home/test/test2.txt 其中xxto300是我想要移动的字符串。它将字符串移动到第二个文件,但当移动下一个字符串时,它将覆盖第二个文件中的现有字符串。 谢谢一般来说,这不起作用,因为每次使用该命令时,sed都会覆盖文件。但是,如果使用GNU-sed,则可以通过写入stdout并重定

我试图从文件中移动一个动态字符串,并使用sed将其附加到第二个文件中

到目前为止,我所尝试的:

sed -i -e '/To300/{w /home/test/test1.txt' -e 'd}' /home/test/test2.txt
其中xxto300是我想要移动的字符串。它将字符串移动到第二个文件,但当移动下一个字符串时,它将覆盖第二个文件中的现有字符串。
谢谢

一般来说,这不起作用,因为每次使用该命令时,
sed
都会覆盖文件。但是,如果使用
GNU-sed
,则可以通过写入
stdout
并重定向以下内容来绕过此限制:

sed -i -e '/To300/{w /dev/stdout' -e ';d }' oldfile >> newfile

通常,这不起作用,因为每次使用该命令时,
sed
都会覆盖文件。但是,如果使用
GNU-sed
,则可以通过写入
stdout
并重定向以下内容来绕过此限制:

sed -i -e '/To300/{w /dev/stdout' -e ';d }' oldfile >> newfile