次のファイルがあります。
##Comment A
##Comment B
#Important header
chr1 content a
chr2 content b
chrX content x
#(##ではない)または「chr1」で始まる新しいファイルに3行と4行を抽出したいと思います。
#Important header
chr1 content a
~しようとする
grep "^[^##]"
ただし、これを行うと#が1つしかない行も除外されます。私はいつも2つのステップでこれを行うことができると思いますが、より良いソリューションが欲しいです!とても感謝しています。
ベストアンサー1
2つのパターンをORで結ぶのはどうですか?
$ grep '^#[^#]\|^chr1' file
#Important header
chr1 content a
または(-e
形式でPOSIXで指定)
$ grep -e '^#[^#]' -e '^chr1' file
#Important header
chr1 content a