簡體   English   中英

如何從文件的每一行中提取具有特殊字符的特定字符串

[英]how to extract particular string with special character from each line of a file

我有一個帶有字符串叢林的文件。 幾行內容如下:

 2*H[0, 3, y]*Log[1 - z] - 2*H[2, 3, y]*Log[1 - z] +
 6*H[2, 2, 0, y] + 6*H[2, 2, 2, y] - 48*Log[-Q2] + 12*zeta2*Log[-Q2] +
 (-107 + 12*N^2*(-1 + N^2))*z^2))*(H[0, 1, 0, y] + H[0, 1, 0, z] + ...

我想找到不同的獨特組合

H[*,*,*] or H[*,*,*,*]

進入每一行。 因此,我也必須搜索包含特殊字符的字符串。 有什么辦法可以做殼嗎?

您可以將此gnu awk命令與自定義RS

awk -v RS='H\\[[^]]*\\]' 'RT && !seen[RT]++{print RT}' file

H[0, 3, y]
H[2, 3, y]
H[2, 2, 0, y]
H[2, 2, 2, y]
H[0, 1, 0, y]
H[0, 1, 0, z]

正則表達式H\\\\[[^]]*\\\\]H[...]每個實例設置為記錄分隔符。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM