如果我的文本文件如下所示:
chrY 14612243 1/1 8/8 0 12 DYS389I 4
chrY 14612243 1/1 8/8 0 12 DYS389I 4
chrY 14612243 1/1 8/8 0 29 DYS389B.2 4
chrY 14612243 1/1 8/8 0 29 DYS389B.2 4
chrY 7730432 1/1 -3/-3 0 20 DYS520 4
chrY 7730432 1/1 -3/-3 0 20 DYS520 4
我如何编写一个awk命令,可以帮助我提取第四列并在' /'中分割,得到我8 8或-3 -3
我试过
awk -F "/" '{print $3 " " $4}'
但它不断打印错误的列。
答案 0 :(得分:5)
尝试以下awk命令,
$ awk '{split($4,a,"/"); print a[1],a[2]}' file
8 8
8 8
8 8
8 8
-3 -3
-3 -3
它使用分隔符/
拆分第四列,并将其存储到数组中。 a[1]
表示第一个拆分值,a[2]
表示第二个值。
答案 1 :(得分:1)
另一种方法是使用space
和/
作为字段分隔符:
awk -F '[ \t/]*' '{ print $5, $6 }' file
输出:
8 8
8 8
8 8
8 8
-3 -3
-3 -3
答案 2 :(得分:1)
另一种选择:
awk '{sub("/", " ", $4); print $4}' file