我正在尝试解决隐藏在 awk
问题背后的生物信息学问题。
我有一个制表符分隔的文件,其中第一列是整数 (1-25) 或字符串 (KN#######)。我需要在行的开头附加一些字符,具体取决于它是什么。这是我到目前为止所拥有的,但没有工作(即 - 没有任何反应,也没有错误被写入 STDOUT,这让我觉得我在某处努力工作)。
awk '{
if ( $1 ~ /^[0-0]+$/ )
'$1="chr"$1'
else
'$1="chrUn_"$1'
}' someFile
例子:
1 100 100
1 100 100
KN1234 100 100
应该变成
chr1 100 100
chr1 100 100
chrUn_KN1234 100 100
最佳答案
你的正则表达式不对
$ awk '{pre="UNKNOWN"}
$1~/^[0-9]+$/{pre="chr"}
$1~/^KN/{pre="chrUn_"} {print pre $0}' file
关于linux - If/then 语句与 awk,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39579281/