2017-05-16 6 views
2

にその境界せずに式を色付けする方法:などの入力を有するシェルスクリプト

./Tomcatv8.1/projects.xml: <jdbc url="jdbc:sqlserver://localhost:1433;databaseName=MMMABC" /> 
./Tomcatv8.2/projects.xml: <jdbc url="jdbc:sqlserver://localhost:1433;databaseName=MMMABC_New" /> 
./Tomcatv8.3/projects.xml: <jdbc url="jdbc:sqlserver://localhost:1433;databaseName=ABC_20170407_STG" /> 
./Tomcatv8.5/projects.xml: <jdbc url="jdbc:sqlserver://localhost:1433;databaseName=UPGABC_New" /> 

私は、データベース名を色付けしたいです。

私はそれがまた私の正規表現で境界として使用され、最終的な「記号を、強調表示することを除いてそれは、非常によく動作します。

だけで、データベース名を強調表示する方法

grep --color=auto -E "[a-zA-Z0-9_]+\"" 

を使用?

答えて

4

あなたは先読みに"を囲み、grepでPCRE正規表現を使用することがあります。

grep --color=auto -P "[a-zA-Z0-9_]+(?=\")" 
       ^    ^^^^^^ 

テキストパターンと一致し、その値が得られた一致に追加されていない場合regex demo

(?=\")のみチェックを参照してください。 lookarounds in regex hereについてもっと詳しくを参照してください。

+1

ワンダフル!ありがとう。それについて知らなかった... – user3341592

関連する問題