我有這些:$ cat a.tmpABB.logABB.log.122ABB.log.123我想找到一個完全匹配的ABB.log。但是當我這樣做$ grep -w ABB.log a.tmpABB.logABB.log.122ABB.log.123它顯示了所有這些。我可以使用grep獲得想要的東西嗎?
3 回答

喵喵時光機
TA貢獻1846條經驗 獲得超7個贊
grep -Fx ABB.log a.tmp
從grep手冊頁:
-F,--fixed-strings將
PATTERN解釋為固定字符串的(列表)
-x,--
line -regexp僅選擇與整行完全匹配的那些匹配項。

慕的地6264312
TA貢獻1817條經驗 獲得超6個贊
如果只有一個前導或尾隨空格,則大多數建議將失敗,如果手動編輯文件將很重要。在這種情況下,這將使其不那么容易受到攻擊:
grep '^[[:blank:]]*ABB\.log[[:blank:]]*$' a.tmp
Shell中的一個簡單的while-read循環將隱式地執行此操作:
while read file
do
case $file in
(ABB.log) printf "%s\n" "$file"
esac
done < a.tmp
- 3 回答
- 0 關注
- 958 瀏覽
添加回答
舉報
0/150
提交
取消