Unix sed命令在终端上工作,但不将更改写入文件输出

Unix sed命令在终端上工作,但不将更改写入文件输出,sed,Sed,我面临以下问题: 每当我尝试重定向到输出文件时,以下命令都不会在输出文件中反映更改: sed '/^20/{N;/\n20/!{s/\n//};P;D}' line_test.csv > file.tmp 但是,如果只运行命令而不执行输出重定向,则预期结果将显示在终端上,并且不更改文件(但我希望更改文件): 有人有主意吗? 谢谢您在运行重定向命令时是否遇到任何错误?那么文件.tmp中有什么内容?未更改的输入文件?我不确定,但更改了输出的名称file@RavinderSingh13,我没有

我面临以下问题: 每当我尝试重定向到输出文件时,以下命令都不会在输出文件中反映更改:

sed '/^20/{N;/\n20/!{s/\n//};P;D}' line_test.csv > file.tmp
但是,如果只运行命令而不执行输出重定向,则预期结果将显示在终端上,并且不更改文件(但我希望更改文件):

有人有主意吗?
谢谢

您在运行重定向命令时是否遇到任何错误?那么
文件.tmp中有什么内容?未更改的输入文件?我不确定,但更改了输出的名称file@RavinderSingh13,我没有得到任何错误。只需file.tmp就可以获得与line_test完全相同的内容。csv@BenjaminW.确切地
sed '/^20/{N;/\n20/!{s/\n//};P;D}' line_test.csv