1

私のcssには次の2つのセレクターがあり、このフォーマットでレイアウトされています。

// file1.css
#myId {
    margin-right:0;
    color:#f00;
}

// file2.css
#otherId { margin-right:0; color: #f00 }

私の目標は、ack/grep検索を使用してセレクターと色の値を取得することです。

もし私が:

ack-grep '(^.*color:\s+\d+)'

私は得るでしょう:

file1.css
color:#f00;

file2.css
#otherId { margin-right:0; color: #f00 }

この検索は、ではうまく機能しましたが、おそらく行の先頭に一致するために使用するため、file2.cssあまりうまく機能しませんでした。CSSセレクターの先頭に一貫して一致させるにはどうすればよいですか(ID、クラス、またはタグ名のいずれかで始まります)。 )?file1.css^

もっと明確にするために、私は欲しい:

file1.css
#myId {margin-right:0; color:#f00;

file2.css
#otherId { margin-right:0; color: #f00 }

(セレクターは必ずしもIDである必要はありません。}ファイルの前または先頭に一致させる必要がありますか?

4

1 に答える 1

2

grepもackも、複数行の正規表現をサポートしていません。

ack FAQ

pcregrepのような他の選択肢があります。ただし、CSSパーサーを使用します。

于 2012-04-16T20:37:18.560 に答える