上星期五想要檢查一個 list 檔案的每個項目是否存在於另一個 log 中,殊不知一個這麼簡單的東東,我到今天下班前才有空把它搞定,雖然也是因為我今天根本沒時間靜下心來思考的緣故?
總之,我的架構是用 cat list 取得所有項目,然後再把它應用在 for loop 中,不確定這樣是不是大家常用的做法,但至少我覺得這樣的語法我比較不會忘記XD
下面是我回家模擬的結果。
雖然我知道原本的錯誤是誤把 \r 也餵進 grep 的 pattern,但我一時之間也無法解釋第一個 inst_b 怎麼會印的跟我想的不一樣?
改天再來想想 ...
2025/06/23 洗完澡更新
詢問 Bard 的結果,這個語法我應該記不住XD
#!/bin/bash
list=list.txt
source=hier.txt
while IFS= read -r pattern; do
pattern=`echo $pattern | tr -d '\r'`
echo $pattern
grep -E $pattern $source
echo -----------
done < $list
沒有留言:
張貼留言