小编Sou*_*hym的帖子

使用单个 sed 调用 split 和 grep

这主要是出于好奇,我试图具有与以下相同的行为:

echo -e "test1:test2:test3"| sed 's/:/\n/g' | grep 1
Run Code Online (Sandbox Code Playgroud)

在一个sed命令中。

我已经试过了

echo -e "test1:test2:test3"| sed -e "s/:/\n/g" -n "/1/p"
Run Code Online (Sandbox Code Playgroud)

但我收到以下错误:

sed: can't read /1/p: No such file or directory
Run Code Online (Sandbox Code Playgroud)

关于如何解决这个问题并将不同类型的命令组合到一个sed调用中的任何想法?

当然,与实际用例相比,这过于简化了,我知道我可以通过使用多个调用来绕过,这再次只是出于好奇。

编辑:我对这个sed工具最感兴趣,我已经知道如何使用其他工具,甚至这些工具的组合来做到这一点。
EDIT2:这是一个更现实的脚本,更接近我想要实现的目标:

echo -e "test1:test2:test3"| sed 's/:/\n/g' | grep 1
Run Code Online (Sandbox Code Playgroud)

我想简化的是卷曲线,把它变成这样的:

echo -e "test1:test2:test3"| sed -e "s/:/\n/g" -n "/1/p"
Run Code Online (Sandbox Code Playgroud)

sed

6
推荐指数
1
解决办法
123
查看次数

标签 统计

sed ×1