1

我已经在使用以下sed命令打印以某个单词(例如 A)开头的行,但是,无法弄清楚如何使用此命令打印以 A 或 B 开头的行。

sed -n '/A/p' 1.txt > 2.txt
4

2 回答 2

4

只需添加一个替代方案:

sed -n '/A\|B/p' 1.txt > 2.txt

请注意,这不仅会打印以 A 或 B开头的行,还会打印包含A 或 B 的行。要使其在行的开头真正匹配,您必须添加锚点^

sed -n '/^A\|^B/p' 1.txt > 2.txt

这相当于

sed '/^A\|^B/!d' 1.txt > 2.txt

这意味着“删除不以 A 或 B 开头的行”。

于 2013-07-29T20:35:31.450 回答
2

这可能对您有用:

sed -n '/^[AB]/p' 1.txt > 2.txt
于 2013-07-29T21:05:24.193 回答