我有一個包含以下幾列的輸入文件:猛砸提取物最後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」一書。 –