ファイル内の特定の文字列が含まれ、他の文字列が含まれていない行を見つけるには、findとgrepを使用します。

ファイル内の特定の文字列が含まれ、他の文字列が含まれていない行を見つけるには、findとgrepを使用します。

まず、次のコードを試してください。

find . -name "*.cfg" | xargs grep "good"|grep -v "^\#"

現在のフォルダから拡張子が「cfg」のファイル名のリストを取得します。次に、「good」が含まれているが「#」で始まらない行の内容を検索したいと思います。しかし、私のコードはうまくいきません。何が問題なの?ありがとうございます。

ベストアンサー1

使用する無駄なxargs(検索結果に-execがある場合):

find . -name "*.cfg" -exec egrep "^[^#]*good" {} +

キャレットはマスクする必要はありません。どのような状況でマスクされるべきかわかりません。しかし、そこには何の害もありません。あなたのすべての命令が私にとって効果的です。

おすすめ記事