2023-02-28 | grep的E正则功能,去除NA的行

2023-02-27  本文已影响0人  汪大山
#去除NA行
grep -vE '^.*\bNA\b.*$'  file.txt
E  先开启grep的正则
^.* 匹配开头无数字符串
.*$ 匹配结尾无数字符串
\b 字符边界

一些实例:

#1.只抓取指定字符的行,不抓取包含关系,用\b字符边界
for i in `cat xxx.list`;do grep "\\b$i\\b" xxx.region >> xxx.regio;done

#2.从xxx.list 中找出xxx.regio中没有的行,用以验证数据的不完整
while read line;do grep -q "\\b$line\\b" xxx.region || echo "$line">> fail.txt | wc -l fail.txt ;done < xxx.list
#grep -q  --quiet ,个选项让 grep 命令在查找匹配项时保持静默,不会输出到命令行,保持输出简洁,
#|| 运算符是Shell中的逻辑或(OR)运算符,command1 || command2,如果 command1 执行成功(返回零退出状态码),则 command2 不会执行。但如果 command1 失败(返回非零退出状态码),则 command2 会执行。
上一篇 下一篇

猜你喜欢

热点阅读