途中でパターンのある糸を引っ張らなければなりませんが、糸の最後まで引っ張ってはいけません。

途中でパターンのある糸を引っ張らなければなりませんが、糸の最後まで引っ張ってはいけません。

だから私はすべて8で終わり、いくつかの中に8を持つ複数行の文字があります。特に、ファイルから途中に8がある行を抽出したいと思います。ここに8がある行の例があります。途中で次のようになります

lcl|XM_024182377.1_cds_XP_024038145.1_1 AFASYYTQL TFRVTNDHDIVPHLPPYSYFPQKTYHHFPREVWLYHIGLGSLIYEVEKICDGSGE DPCSRSVTGNSVSDHLVYFGDL SD AAGNHF8

ベストアンサー1

複数の条件が必要な場合にawk使用する方が簡単です。sed

awk '!/8$/ && /8/' file

これにより、次の2つの基準に従って印刷する行が選択されます。確かに固定正規表現8$の合計と一致するマッチ8。 sedでも同じロジックsed -n '/8$/!{/8/p;}'

ANDのロジックsedは若干異なります。

sed '/8$/d; /8/!d' file

8$一致または一致しない行を削除して行をフィルタリングします8。 awkでも同じロジックawk '/8$/ || !/8/ {next} 1'

またはgrepx2:

grep -v 8$ <file | grep 8

8で終わる行は最初のパスで拒否されます。 2番目のステップでは、8を含む行を選択します。

おすすめ記事