次の入力ファイルがあります。
v
ATOM 57 O LYS A 7 2.254 25.484 18.942 1.00 14.46
ATOM 77 NH1AARG A 8 5.557 19.204 13.388 0.55 24.50
TER 1648 ILE C 206
HETATM 1668 O HOH A1023 25.873 38.343 2.138 1.00 21.99
^
A
表示された場所にのみ行を含めるだけです。最初の行と同様に、ほとんどの行では、A
5番目の列は単一文字です。ただし、場合によっては、4番目の列(2行目など)または文字列(最後の行など)にある場合があります。 22文字以外には単一の文字がA
表示されることがありますが、ここに表示される場合にのみ興味があります。
A
単一でも文字列でも、次の行のみを含めるには出力が必要です。
ATOM 57 O LYS A 7 2.254 25.484 18.942 1.00 14.46
ATOM 77 NH1AARG A 8 5.557 19.204 13.388 0.55 24.50
HETATM 1668 O HOH A1023 25.873 38.343 2.138 1.00 21.99
A
しかし、時には列に関係なく単一行だけを抽出したい場合があります。
ATOM 57 O LYS A 7 2.254 25.484 18.942 1.00 14.46
ATOM 77 NH1AARG A 8 5.557 19.204 13.388 0.55 24.50
ベストアンサー1
あなたはそれを使用することができます
grep -E '^.{21}A' file
このようなケースを含めたいA1023
場合
grep -E '^.{21}A\>' file
A
行を別の文字でのみ表示したい場合
メモ:2 番目の例では、記号は次の空の\>文字列と一致します。
grep のマニュアルページから
バックスラッシュ文字と特殊式
シンボルは、それぞれ単語の先頭と末尾の空の文字列
\<
と一致します。\>
この記号は、\b
単語の端にある空の文字列と一致し、\B
単語の端にない空の文字列と一致します。記号は\w
の同義語[_[:alnum:]]
であり、\W
の同義語です[^_[:alnum:]]
。