Bash

grep 所有以某個字元開頭並以另一個字元結尾的字元串

  • March 31, 2018

我需要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

輸出將是謊言

[44060]apal
[95749]assad fdfdf Bhassrj sdaapal
[101335]KaMMMM MMM lapal
[131322]sadasds ddd apal
[138133]sadasdadasddsss KMMapal

採用:

grep -o '\[.*apal' file.txt

替換file.txt為實際的文件名。

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

grep -o '^\[.*apal' file.txt

嘗試:

grep -o '^\[.*apal$' file.txt

匹配正則表達式的命令:…….usegrep

匹配寫入的正則表達式,……..use 匹配行首,…… …… use : 匹配中間的任何字元, .use : 匹配行尾, ….use : 一個文件包含您要匹配的內容。:file.txt-o
^``^\[
.``.*
$``apal$

引用自:https://unix.stackexchange.com/questions/277089