我有一个包含以下几列的输入文件:猛砸提取物最后n个字符,比较分离柱
'-' CT C>CCT
'-' TA G>GTA
'-' TAT A>ATAT
基本上,我想测试箭头后的最终n个字符的第3列是否与第2列的内容相同,其中n是箭头前后字母之间的长度差异。
看来,我迄今为止试过的所有东西都引发了一个错误。我在想以下几行:
awk -F"\t" '{split($3,x,">");
{n_base=length(x[2])-length(x[1]);
ins={$x[2]: -$n_base};
if($2 == $ins) {print $0}}'
有什么想法?
在此先感谢。
'插件= {$ x [2]: - $ n_base}'是一个shell语言结构。 awk不是shell,awk是一个可以从shell调用的工具,就像'cut','grep'等一样。另外,通过命名变量来获得awk变量的值,就像在C中一样,而不是通过粘贴在它前面的'$'就像你在shell中做的一样。获得Arnold Robbins编写的“Effective Awk Programming,Third Edition”一书。 –