Tux*_*ife 2 python perl sed awk text-processing
输入:
blah?foobar1?blah
Run Code Online (Sandbox Code Playgroud)
期望的输出:
foobar1
Run Code Online (Sandbox Code Playgroud)
我想获取两个“?”之间的文本 人物。
假设总是有 0 或 2 个“?” 字符,使事情变得更容易。
我尝试了以下操作,但我不知道如何让它知道它是哪个事件:
echo "blah?foobar1?blah" | sed -n '/?/,/?/p'
Run Code Online (Sandbox Code Playgroud)
您可以使用剪切命令。
提取第二个模式:
echo "blah@foobar1@blah" | cut -f2 -d"@"
提取第二个和第三个模式:
echo "blah@foobar1@blah" | cut -f2,3 -d"@"
从第二个模式开始提取
echo "blah@foobar1@blah" | cut -f2- -d"@"
编辑:由于问题被标记为 awk。这是一个 awk 解决方案。
echo "blah@foobar1@blah" | awk -F'@' {'print $2'}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1332 次 |
| 最近记录: |