awk、数値選択における引用符(")の役割は何ですか? (Linux)

awk、数値選択における引用符(

セクションを含む入力フォームがあります。

TCTTTTAAAGCCTCCTCAACTGTTTTAGGG  1       0
CACAACTGAAAAGTACAATGTGTTTGCTTC  1       0
CACCATATTTATTTAAAGGAGCATCTAAAT  1       3
ACGAGAAAAAAAAAAGGGGTGACCCCCTGG  3       0
CAAAATATTAATTCTTTACTATGAAACTTA  1       0
TTCTATTTTGTCGTGGTTAGCAACCATCAC  6       5
TAATAATAAAATAATGAAAAAGAAAAATCA  1       0
AAAGCATTTGAAGGTGACAAAAGGGAAAGT  20      7
TGCTAAGGAAGAATCATGGAAGAGTGTTTT  0       1
CTCCCTTCCTCGCAAACATGCTTGCCCAGG  0       1
AATAAAAATCAAATTTAGTGACGGGTTGAG  130     4
AGAACGAAGCTGATATAAAGACATCAAAGA  1       0
TGCCCCTAATGCAGCATCTCTCTCTCCCTC  1       0
CCACAAAATAATTACATGGCAAACACGAGT  1       0

列3> = 120と列2> = 420のすべての行を印刷したいです。

数字の周りに「」を使用または使用しないと、2つの異なる結果が得られます。

(A) awk '$3>=120 && $2>=420 {print $0}'

(B) awk '$3>="120" && $2>="420" {print $0}'

私が望むように見える部分(A)の結果は次のとおりです。

GTGTCATTTCATGCCTCATTCATCCTCATT  1375    439
TGAATTCTATTACTTGATTGACATTGACAG  541     301
TCTTTGGCGGTTGTTAAAGAATTTTCTGAT  823     203
TCTACACCTCAATATGCAAAACATTACATC  535     165
TTCAACAAATTAATTAAAATTGAATTAAAC  3010    627
GATATGTAAAAAAAATTATATTATATGAAT  609     173

(B)の結果のいくつかは私が望むものではありません。

TAATAATAATAATAAAAGAAGAAGAAAAGA  5       2
TATCTGAGCTATCAACTCAATTCATCGTCG  5       4
TTAATGATAAATTTATCTTAAAAGTTTAAC  62      23
TTCAACCCCCTCTCCTGGTGTGTGCCCTAG  45      7
TCCAAAGCCTTTAATGTGTACCGCGTGAAA  6       5
GGCAATGGGATACTCCTGTATGTTATTCTA  6       3

心に浮かぶ質問は次のとおりです。数値を選択する際の引用符(")の違いは何ですか?

とても感謝しています。

ベストアンサー1

引用符は、数値の文字列表現を強制的に比較します。アルファベット順に「42」は「120」の後に続きます(「42」>「120」)。数値的にはそうではありません(42 < 120)。

おすすめ記事