Awk
複製床文件的列以生成另一個床文件
我有一個床文件基因組_cov.bed 指定基因組上每個位置的基因組覆蓋率。列是;腳手架,位置,覆蓋範圍。
scaffold_1 1 0 scaffold_1 2 0 scaffold_1 3 32 scaffold_1 4 34 scaffold_1 5 34 scaffold_1 6 39 scaffold_1 7 39 scaffold_1 8 53 scaffold_1 9 58 scaffold_1 10 60
我想製作另一個複制第二列的床文件。
當我使用 cut -f 時,我無法複製列,當我使用 awk 命令時:
awk '{print $1,$2,$2,$3}' genome_cov.bed > genome_cov2.bed
它不會產生一個床文件,最終看起來像這樣:
scaffold_1 1 1 0 scaffold_1 2 2 0 scaffold_1 3 3 32 scaffold_1 4 4 34 scaffold_1 5 5 34 scaffold_1 6 6 39 scaffold_1 7 7 39 scaffold_1 8 8 53 scaffold_1 9 9 58 scaffold_1 10 10 60
您可以將輸出欄位分隔符設置為製表符:
awk '{print $1,$2,$2,$3}' OFS='\t' genome_cov.bed
或用於
printf
明確指定格式awk '{printf "%s\t%s\t%s\t%s\n",$1,$2,$2,$3}' genome_cov.bed