我正试图使用awk来解析下面的输出,以删除每行分号后的所有文本。谢谢:)。
awk -F '\t' 'BEGIN { OFS = FS } NR != 1 { sub(/; [^ ]*$/, "", $NF) } 1' file1.txt >: result.txtfile1.txt
chr1 40539722 40539865 PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1
chr1 40542503 40542595 PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1
chr1 40544221 40544340 PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1
chr1 40546058 40546169 PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1;PPT1理想的result.txt
chr1 40539722 40539865 PPT1
chr1 40542503 40542595 PPT1
chr1 40544221 40544340 PPT1
chr1 40546058 40546169 PPT1发布于 2015-07-28 14:14:58
就这么做有什么不对吗?
awk -F ';' '{ print $1 }'?看起来简单多了。
发布于 2015-07-28 14:20:30
您希望cut文件并在;-separated值上显示第一个字段。那么,如何使用cut本身呢?
$ cut -d';' -f1 file
chr1 40539722 40539865 PPT1
chr1 40542503 40542595 PPT1
chr1 40544221 40544340 PPT1
chr1 40546058 40546169 PPT1-d设置分隔符,-f指示要打印哪些字段。
https://stackoverflow.com/questions/31678776
复制相似问题