pra*_*_23 1 unix ksh solaris sed
我使用 sed 命令从文件中删除前两行和最后一行,我想将输出重定向到相同的文件
例子 :
sed '1,2d' '$d' pra >pra
Run Code Online (Sandbox Code Playgroud)
这会从文件中删除前两行和最后一行。但是当我尝试将输出重定向到同一文件时,就会出现问题。
当我打开并看到重定向的文件时,文件中pra没有任何内容。
有没有更好的方法来做到这一点..从文件中删除前两行和最后一行,并用相同的文件名保存它。
要将输出保存到同一文件,请使用 --in-place 或 -i 修饰符。
例如
sed -i options_you_want name_of_file_to_change
Run Code Online (Sandbox Code Playgroud)
它比重定向到临时文件,然后返回到原始文件要简洁得多。
正如下面所指出的, --in-place 在 Solaris 上可能不可用......