这是Using sed to remove everything after a [[:space:]]的另一部分。我知道StackOverflow想要新问题,而不是现有问题的附加组件。
我想从包含DW_Prod
的字符串中删除非路径字符后的所有内容。现在,我说结肠和空格是字符串的结尾。是的,我知道路径可能包含空格。这些不应该。如果遗漏了,那么这个文档就可以了。
$ echo "blah DW_Prod\\Facets\\UNRCH_MBRS: UNRCH_Members.sql" |
sed 's#.*\(DW_Prod.*\)\(:\|[[:space:]]\).*#\1#'
DW_Prod\Facets\UNRCH_MBRS:
正则表达式如何知道()
指定的结果组与(a|b|c)
指定的交替组之间的区别?
答案 0 :(得分:1)
我想删除之后的所有内容... DW_Prod ...我说冒号和空格是字符串的结尾。
$ echo "blah DW_Prod\\Facets\\UNRCH_MBRS: UNRCH_Members.sql" | \
sed -n -e 's#^.*\(DW_Prod.*[:[:space:]]\).*$#\1#p'
DW_Prod\Facets\UNRCH_MBRS:
或者
$ echo "blah DW_Prod\\Facets\\UNRCH_MBRS: UNRCH_Members.sql" | \
sed -n -e 's#^.*\(DW_Prod[^:[:space:]]*[:[:space:]]\).*$#\1#p'
DW_Prod\Facets\UNRCH_MBRS: