バックティック間のgrep文字列

バックティック間のgrep文字列
`someString` complete(1)

バックティックの間に「someString」が必要です。以下で試しましたが、うまくいきません。

cat file.txt | grep '\`.*\`'

ベストアンサー1

GNUによるgrepサポートポリメラーゼ連鎖反応拡大する:

grep -Po '(?<=`)[^`]*(?=`)' infile

またはreturn ac例えば`a`b`c`できます。:

grep -Po '(?<=`)[^`]+(?=`(?:[^`]*`[^`]*`)*[^`]*$)'

バックティックペア間のすべての内容を返します。

ヒント:
(?<=...):過去を振り返ると肯定的です
(?=...):積極的で積極的な
(?:...):非キャプチャグループ
[^`]*: バックティック以外のすべての文字`


そしてawk

awk -F'`' '{ for(i=2; i<=NF; i+=2) print $i; }' infile

おすすめ記事