这主要是出于好奇,我试图具有与以下相同的行为:
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 ×1