0

我有这样的输入:

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 目标。所以我可以修剪一些特定的值。

4

2 回答 2

4

这可以解决问题:

$ 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
于 2013-07-03T07:51:17.463 回答
0

试试这个 ...

$ sed 's%/\[a-b][^ ]*%%g' file
于 2013-07-03T11:53:27.487 回答