我有这样的输入:
A.x: ksvbskv sdbvfv /a/b/c \
vvsvr /a/b /a/b/m/d \
hmnghmgh
我需要一个sed
命令模式来删除所有以开头的单词/a/b
,输出将是:
A.x: ksvbskv sdbvfv \
vvsvr \
hmnghmgh
我已经将它用于 Makefile 目标。所以我可以修剪一些特定的值。
这可以解决问题:
$ sed 's%/\ba/b[^ ]*%%g' file
A.x: ksvbskv sdbvfv \
vvsvr \
hmnghmgh
解释:
s # Substitute
% # Delimiter
\b # Word boundary
a/b # Literal string
[^ ]* # Zero or more characters that are not a space
% # Delimiter
% # Delimiter
g # Global substitution
试试这个 ...
$ sed 's%/\[a-b][^ ]*%%g' file