1
我有一个带有丛林字符串的文件。几行内容如下:如何从文件的每一行中提取具有特殊字符的特定字符串
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[*,*,*,*]
不同的独特组合中的每一行的到来。因此我也必须搜索包含特殊字符的字符串。有什么办法可以在shell中执行?
嗨@anubhava ..谢谢。它开箱即用。但有没有办法把它放在bash中作为任何一般字符串的一些函数(比如这里的“H”)。 类似 function test(){awk -v RS =“$ @ \\ [[^]] * \\]”'RT &&!seen [RT] ++ {print RT}'$ @;} –
对不起,我没有得到它的工作。 是否有可能把你的答案放入bashrc中,以便我可以将它用于任何字符串和文件。我试过类似 函数myfunc(){awk -v RS ='H \\ [[^]] * \\'''RT &&!seen [RT] ++ {print RT}'$ @;} 所以我运行为:myfunc文件,它会给出正确的结果。但我也想为“H”提供快速输入,以便它可以用于任何常规字符串。 –
'.bashrc'里面有这样一个函数:'myfunc(){awk -v RS =“$ 1”'\\ [[^]] * \\]''RT &&!seen [RT] ++ {print RT}'; }'然后把它称为'cat file | myfunc'H'' – anubhava