我有一个文件,其列按上半部分的一个逻辑排序,另一个在最低的逻辑上排序,如下
上半场 locus_1 M1 -7.0056323 1 Locus_1 0.004335 1 M3 locus_2 - 3.4194853 1 Locus_2 0.148344 1 M2 locus_3 M5 -2.1111424 1 Locus_3 0.329310 1 M1 下半场 locus_4 -4.2389254 1- Locus_4 0.3219294 1 S2 locus_5 -18.1941031 1 x Locus_5 0.0008329 1 M2 locus_6 13.0201291 1 M4 Locus_6 0.0181229 1-
我想把前半部分印成$1, $3, $4, $2, $5, $6, $7, $8,下半部分只印$0,这样它们就有了相同的顺序。
第二栏的前半部分$2 /$4栏可以包含"-“、"x”、"M1-5“或"S1-5",而3美元上半年/2美元下半年的数字可以是正数或负数。
我想做一些for循环与awk,但我不能成功地做.如果有用的话,我就用cygwin。
发布于 2015-10-12 17:39:29
Awk内置变量的链接:
http://www.thegeekstuff.com/2010/01/8-powerful-awk-built-in-variables-fs-ofs-rs-ors-nr-nf-filename-fnr/
#!/bin/awk -f
{
if( NR<4 ){
print $1 " " $3 " " $4 " " $2 " " $5 " " $6 " " $7 " " $8
}
else{
print $0
}
}https://stackoverflow.com/questions/33084991
复制相似问题