相关疑难解决方法(0)

使用 sed(或 awk)删除模式上方的行范围

我有以下代码将删除带有该模式的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)

sed awk shell-script text-processing

32
推荐指数
4
解决办法
6万
查看次数

猫重定向

假设abc当前目录中存在一个名为的文件,其中包含一些文本。执行命令时:

cat abc > abc
Run Code Online (Sandbox Code Playgroud)

为什么文件的内容abc消失了?
为什么命令删除里面的文字,文件变成空文件?

io-redirection files cat

11
推荐指数
2
解决办法
1832
查看次数

标签 统计

awk ×1

cat ×1

files ×1

io-redirection ×1

sed ×1

shell-script ×1

text-processing ×1