Search
如何查找文本並在之後復製文本?
我有一個腳本,可以創建一個包含大量資訊的 txt 文件。我想檢查其中是否有特定的文本,然後複製後面的內容。例如,這是 txt 文件:
blablablaWANTEDTEXT[TEXTTOCOPY]blablabla...
我想檢查是否
WANTEDTEXT
存在,如果存在,複製接下來的內容[
和]
akaTEXTTOCOPY
。謝謝
> echo blablablaWANTEDTEXT[TEXTTOCOPY]blablabla... | > awk -v searchtext=WANTEDTEXT '$0 ~ searchtext "\\[.*\\]" { strstart=index($0,searchtext "[")+length(searchtext)+1; tmpstr=substr($0,strstart); sub("].*$","",tmpstr); print tmpstr; } ' TEXTTOCOPY
echo '....' | grep -oP 'WANTEDTEXT\[\K[^]]*'
grep
在該模式下操作的地方Perl
,意味著您可以編寫 Perl 正則表達式,grep
並且-o
將只列印匹配的部分,而不是像以往那樣列印整行。注意: 左邊的任何東西
\K
都不會顯示在輸出中。它是一種保持器標誌(後視但可變長度),指示grep
在匹配但不輸出時使用它。結果:
TEXTTOCOPY