1
如何使sed省略不匹配的行?
在以下示例中,sed匹配以a a或a 开头的行,c并打印该行的第一个字符(a或c): $ echo "ag bh ci dj ek fl" | sed 's/\(a\|c\)./\1/' # Matches lines starting with 'a' or 'c'. output: a bh c dj ek fl 但是,与图案不匹配的线也会被打印出来。我该如何sed忽略与模式不匹配的行?我可以通过将其与grep(如下所示)组合来获得所需的效果,但是我想知道是否sed可以“单独”实现该效果。 $ echo "ag bh ci dj ek fl" | grep '[ac]' | sed 's/\(a\|c\)./\1/' output: a c