タイトルと同様に、部分文字列が表示される各(テキスト)ファイルの行番号も印刷したいと思います。
これまで私は以下を持っています:
find /sys | grep "filesystem"
しかし、ファイルの内容は見ず、ファイル名とディレクトリだけを見るようです。
同時に複数の文字列を検索するには?これはさらに検索し"*filesystem"
て、この文字列が表示される可能性がある"filesystem*"
すべての項目を含める必要があると思うからです。"*filesystem*"
よろしくお願いします。
答え1
ファイル名と内容に2つの異なるコマンドを使用しても問題ない場合は、次のコマンドが役に立ちます。
find /sys -name "*filesystem*"
上記のコマンドは、ファイル名/ディレクトリ名の一部として「filesystem」を含むすべてのファイル/ディレクトリを検索します。
grep -rn "filesystem" /sys/*
上記のコマンドは、内容に「filesystem」を含むすべてのファイルを再帰的に検索し、一致する行とともに行番号を印刷します。コンテンツではなく行番号のみを印刷するには、次のフィルタを使用できます。 2を印刷したい列番号に置き換えることができます。
grep -rn "filesystem" /sys/* | awk -F":" {'print $2'}