0
我需要以指定的順序grep一個大文件的單詞(真的是一串字符)。我還需要能夠包含冒號「:」的字符串。例如,如果單詞是「蘋果」,「香蕉」和「桃子」,我會得到這樣一句話:「蘋果櫻桃香蕉酷:桃子」,而不是「蘋果:桃子櫻桃香蕉酷」。我真的希望能夠在其他grep命令中使用一個字符串而不是grep命令。我不關心只搜索整個單詞。grep爲特定順序的字符串
我需要以指定的順序grep一個大文件的單詞(真的是一串字符)。我還需要能夠包含冒號「:」的字符串。例如,如果單詞是「蘋果」,「香蕉」和「桃子」,我會得到這樣一句話:「蘋果櫻桃香蕉酷:桃子」,而不是「蘋果:桃子櫻桃香蕉酷」。我真的希望能夠在其他grep命令中使用一個字符串而不是grep命令。我不關心只搜索整個單詞。grep爲特定順序的字符串
grep "apple.*banana.*:peach" file
例如,
$ echo "apple cherries banana cool :peach" | grep "apple.*banana.*:peach"
apple cherries banana cool :peach
$ echo "apple :peach cherries banana cool" |grep "apple.*banana.*:peach"
$
很簡單的正則表達式。 「蘋果」,「香蕉」和「桃子」部分只是文字串。它們之間的.*
是兩個正則表達式運算符 - .
將匹配任何字符,並且*
表示前一個匹配可以匹配0或更多次。
從本質上講,我們是說發現這個順序對這些文字字符串,與任意數量的他們之間的字符(包括沒有,所以即使「applebanana:桃子」會匹配。)
您是否嘗試過使用正則表達式像這樣:「蘋果。*香蕉。*:桃子」? – AKJ88