我有一个脚本,我想删除特定行之后的每一行。
我有一个命令,但它只是擦除整个文件?
sed -n '/twm &/q;p' ~/.xinitrc > ~/.xinitrc
转换如下:
some line
another line
some other line
twm &
more lines to be deleted
and more
到
some line
another line
some other line
答案1
由于父进程(您的 shell)设置了重定向前您的sed
命令运行后,会> ~/.xinitrc
在您读取文件之前清除该文件。
阅读man sed
并做类似的事情未经测试:
sed -i.bak -e "/twm \&/,\$d" ~/.xinintc
这会在~/.xinitrc.bak
.