本的部分替换字符是我在做什么(我只是想在第四列摆脱了领先的数字)使用AWK GSUB与/ 1,可以与原始字符
cat text.txt | awk 'BEGIN {OFS="\t"} {gsub(/[0-9XY][0-9]?([pq])/,"\1",$4); print}'
这我输入
AADDC 4902 3 21q11.3-p11.1 4784 4793
DEEDA 4023 6 9p21.31|22.3-p22.1 2829 2832
ZWTEF 3920 10 8q21-q22 5811 5812
这是我的输出
AADDC 4902 3 11.3-p11.1 4784 4793
DEEDA 4023 6 21.31|22.3-p22.1 2829 2832
ZWTEF 3920 10 21-q22 5811 5812
但我想这是我的输出
AADDC 4902 3 q11.3-p11.1 4784 4793
DEEDA 4023 6 p21.31|22.3-p22.1 2829 2832
ZWTEF 3920 10 q21-q22 5811 5812
我不认为你可以在那里使用'\ 1'引用。哪个版本的awk?也许你有'gensub()'? – shawnt00
我相信这是gnu awk。我运行了“awk --version GNU Awk 4.1.3,API:1.1(GNU MPFR 3.1.4-p1,GNU MP 6.1.0) Copyright(C)1989,1991-2015 Free Software Foundation。” – Jacob