6
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

headerを残したままsortするには

Posted at

タイトルのママですが、headerを残して、その他の行をsortしたい場合はよくあると思います。NGS解析では、bedファイルやsamファイルでしょうか。headerファイルを別のファイルに分けておいて、ソートしたファイルに、後から足すなどすればすむ話ですが是非ワンライナーでやりたいとおもいました。

データ

test.bed
Chr	Start	End	ID	Score	Strand
chrM	13676	13771	SRR891268.4	42	+
chr17	25777774	25777825	SRR891268.7	40	-
chrM	6370	6436	SRR891268.28	42	+
chr6	120122843	120122904	SRR891268.38	42	+
chr4	109520697	109520774	SRR891268.51	42	+
chr17	4046420	4046472	SRR891268.52	42	-
chrM	12742	12824	SRR891268.56	25	+
chrM	10183	10234	SRR891268.58	42	+
chr18	57454680	57454760	SRR891268.62	42	+
chrM	9780	9838	SRR891268.72	25	+

テクニック

(): 括弧内のコマンド実行を別プロセスで行う。今回はこれを利用して、&&で結んだ2つの実行結果をパイプで食わせる

-n: head, tailのオプションで出力情報を上からもしくは下からの行数で指定できる。 -1を加えるとheadの場合は最後の行を省く。tailの場合は、最後の行だけが表示される(headの場合と反対になるので注意)。

この2つを使うとsortが実現できる。

(head -n +1 test.bed && tail -n +2 test.bed | sort -k1,1 -k2,2n) > test.sort.bed

出力はいわずもがななので省略(というか捨ててしまった。。)

6
5
4

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?