grep 所有以某个字符开头并以另一个字符结尾的字符串

tes*_*ter 3 command-line grep bash sed awk

我需要 grep 所有以“[”开头并以某个字符串结尾的字符串,例如“apal”。因此,这两个字符之间的所有字符也将显示出来。给定一个输入,例如:

[44060]apal223reaea[55000]opoer4nr4on[95749]assad fdfdf Bhassrj sdaapald33qdq3d3da3ded[66000]dsfsldfsfldkj[77000]porpo4o4o3j3mlkfxxxx[101335]KaMMMM MMM lapa[131322]sadasds ddd apaladsdas[138133]sadasdadasddsss KMMapaldsadsadwe[150000]idhoqijdoiwjodwiejdw
Run Code Online (Sandbox Code Playgroud)

输出将是谎言

[44060]apal
[95749]assad fdfdf Bhassrj sdaapal
[101335]KaMMMM MMM lapal
[131322]sadasds ddd apal
[138133]sadasdadasddsss KMMapal
Run Code Online (Sandbox Code Playgroud)

hee*_*ayl 7

用:

grep -o '\[.*apal' file.txt
Run Code Online (Sandbox Code Playgroud)

替换file.txt为实际文件名。

另一方面,如果你想[在行首匹配:

grep -o '^\[.*apal' file.txt
Run Code Online (Sandbox Code Playgroud)