
単語/パターン「gene」と「+」の両方を含む行数を見つけたいです。 grepでこれを行うことはできますか?
答え1
はい、次の方法でこれを実行できますgrep
。
grep -c 'gene.*+' file
その後、単語がgene
最初に表示される行を見つけて別の単語(「単語の区切り」を意味)として見つけ、同じ行から別の単語にもインポート\b
します。+
この-c
フラグは、grep
印刷する一致する行数を示します。+
前の項目も見つける必要がある場合は、gene
次のことができます。
grep -Ec '(gene.*\+)|(\+.*gene)' file
しかし、これはEugene+Mary came for dinner
あなたが望むものではないかもしれないものと一致します。探している単語を見るとgff / gtfファイルを見ているようですので、もっと複雑な作業をして、gene
3番目と+
7番目のフィールドに存在しない行を探したいと思うかもしれません。各行は#
(gffヘッダー)で始まります。これが実際に必要なものであれば、次のようにすることができます。
awk -F"\t" '!/^#/ && $3=="gene" && $7=="+"{c++}END{print c}'