我有以下代码将删除带有该模式的banana
行和其后的 2 行:
sed '/banana/I,+2 d' file
Run Code Online (Sandbox Code Playgroud)
到现在为止还挺好!但是我需要它在之前 删除 2 行banana
,但是我无法使用“减号”或其他任何东西(类似于grep -v -B2 banana file
应该做什么但不做什么):
teresaejunior@localhost ~ > LC_ALL=C sed '-2,/banana/I d' file
sed: invalid option -- '2'
teresaejunior@localhost ~ > LC_ALL=C sed '/banana/I,-2 d' file
sed: -e expression #1, char 16: unexpected `,'
teresaejunior@localhost ~ > LC_ALL=C sed '/banana/I,2- d' file
sed: -e expression #1, char 17: unknown command: `-'
Run Code Online (Sandbox Code Playgroud) 假设abc
当前目录中存在一个名为的文件,其中包含一些文本。执行命令时:
cat abc > abc
Run Code Online (Sandbox Code Playgroud)
为什么文件的内容abc
消失了?
为什么命令删除里面的文字,文件变成空文件?