我想 grep 所有末尾包含 _P 的行。
例如,一个文件可能包含
stuff_C
stuff_P
things_C
things_P
stu_P_ff
thi_P_ngs
我只想捕获stuff_P
并发things_P
送到标准输出
答案1
您可以使用 ”锚定字符“ 为了达成这个。
grep "[[:print:]]*_P$" file.txt
或者,更简单(根据 @JeffSchaller 的评论)
grep "_P$" file.txt
应该达到你想要的。
答案2
一个简单的示例 - 发现一个无效的 CNAME 条目,并且末尾有一个额外的空格。忽略注释行( ;; 在 bind 中)
DNSint04 # cat /var/named/internal/db.abanet.org | DNSint04 # cat /var/named/internal/db.abanet.org | grep -v ^; | grep -i cname | grep -i cname | grep -i cname grep -v ".$"
aba-sepm-z IN CNAME sepm-z abavideo
IN CNAME vidxxxxchifw01.abanet.org。DNSint04#