我有像"(东西/东西)"的样本数据,我正试图提取"东西".
我在OSX的终端上这样做,我似乎无法做到这一点.
这是最后一次破碎的尝试
echo '(stuff/thing)' | sed -n 's/\((.*)\)/\1/p'
Run Code Online (Sandbox Code Playgroud)
我会说:
$ echo '(stuff/thing)' | sed -n 's@.*/\([^)]*\))@\1@p'
thing
Run Code Online (Sandbox Code Playgroud)
我开始说:
$ echo '(stuff/thing)' | sed -n 's@.*/@@p'
thing)
Run Code Online (Sandbox Code Playgroud)
注意我使用@sed分隔符以提高可读性.
然后,我想摆脱来自的东西).为此,我们必须捕获块\([^)]*\))并将其打印回来\1.
所以这一切都在做:
# print the captured group
# ^^
# |
.*/\([^)]*\))@\1
# ^^^| ^^^^^ |
# | | ------|---- all but )
# | | |
# | ^^ ^^
# | capture group
# |
# everything up to a /
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5635 次 |
| 最近记录: |