2013-07-29 48 views

回答

2

只需添加一个选择:

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开头的行”。

+0

太感谢你了 – user2517676

+0

你确定它不应该是'/^A \ | B/p'? –

+0

+1。另一种方法是编写'sed -n'/^A/p;/^ B/p'1.txt> 2.txt'。 – ruakh

1

这可能会为你工作:

sed -n '/^[AB]/p' 1.txt > 2.txt 
相关问题