Linuxで#page-titleを含むすべてのcssファイルを見つける方法


4

grep -irn "#page-title"すべてのファイルで一致するテキストを検索することはわかっていますが、パフォーマンス上の理由から、検索をcssファイルであるファイルのみに制限したいと思います。Windows PowerShellでは、次のとおりです。

ls *.css -r | select-string "#page-title"

ボーナスポイント、これをプレフィックスが付いていないファイルに制限するにはどうすればよいですか css_

回答:


7
find -name "*.css" ! -name "css_*" | xargs grep -H "#page-title"

findは、2セットのパラメーターを含むUNIXコマンドライン検索です。最初のパラメーター、-name "*.css"はCSS拡張子を持つファイルを探すように! -name "css_*"findに指示し、パラメーターはで始まるファイルを除外または無視するようfindに指示しますcss_。次に、このファイルのリストはxargsコマンドにパイプされます。xargsコマンドは、リストをパラメーターとしてgrepコマンドに渡します。grepコマンドは、リストから「#page-title」を見つけ、-Hパラメーターを使用してファイル名を出力します。


あなたのコードが何をするのかについての説明をお願いします。
タマラウィスマン

@TomWijsmanは、提案ごとに詳細を追加しました。
ロイ・リコ

4

これはトリックを行う必要があります

grep -r --include="*.css" "#page-title" ./

スーパーユーザーへようこそ。私はあなたの答えを支持しましたが、を追加することで改善できます--exclude="css_*"
アンソニージョゲガン

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.