我想匹配,然後從文本字符串中提取模式。我需要提取其後面的文本字符串匹配任何模式:搜索文本字符串中的模式,然後提取匹配模式
10289 20244
文本文件:
KBOS 032354Z 19012KT 10SM FEW060 SCT200 BKN320 24/17 A3009 RMK AO2 SLP187 CB DSNT NW T02440172 10289 20244 53009
我試圖做到這一點使用下面的bash代碼:
Bash代碼:
cat text_file | grep -Eow '\s10[0-9].*\s' | head -n 4 | awk '{print $1}'
上面的代碼嘗試搜索任何一組大約五個以10
後跟三個數字字符開頭的數字字符。匹配此模式後,代碼會打印出文本字符串的其餘部分,從20
開始捕獲第二組五個數字字符。
我需要一個更好,更可靠的方法來實現這個目標,因爲目前這段代碼失敗了。我需要的數字組用空格分開。我試圖通過將\s
插入代碼的grep部分來解釋這一點。
這將匹配'10289 12345 RMX 67890 FOO 20244' - 是否可取? –