linux 中awk命令实现字符串的精确匹配


 

001、

root@DESKTOP-1N42TVH:/home/test3# ls
test.txt
root@DESKTOP-1N42TVH:/home/test3# cat test.txt   ## 测试数据
AKCR02000001    df
AKCR02000001    df
AKCR02000001    er
AKCR02000001.1  dg
AKCR02000001.1  der
AKCR02000001.1  fg
AKCR02000001.2  ee
AKCR02000001.2  ss
AKCR02000001.2  aa
aaad AKCR02000001 df
dsfdsffff AKCR02000001
eererr AKCR02000001.4 AKCR02000001
eererr AKCR02000001.4 eerr
root@DESKTOP-1N42TVH:/home/test3# awk '/AKCR02000001/' test.txt     ## 并不能实现精确匹配
AKCR02000001    df
AKCR02000001    df
AKCR02000001    er
AKCR02000001.1  dg
AKCR02000001.1  der
AKCR02000001.1  fg
AKCR02000001.2  ee
AKCR02000001.2  ss
AKCR02000001.2  aa
aaad AKCR02000001 df
dsfdsffff AKCR02000001
eererr AKCR02000001.4 AKCR02000001
eererr AKCR02000001.4 eerr

linux 中awk命令实现字符串的精确匹配

 

 

002、实现方式1(同时考虑开头、中间、结尾的情况)

root@DESKTOP-1N42TVH:/home/test3# ls
test.txt
root@DESKTOP-1N42TVH:/home/test3# cat test.txt
AKCR02000001    df
AKCR02000001    df
AKCR02000001    er
AKCR02000001.1  dg
AKCR02000001.1  der
AKCR02000001.1  fg
AKCR02000001.2  ee
AKCR02000001.2  ss
AKCR02000001.2  aa
aaad AKCR02000001 df
dsfdsffff AKCR02000001
eererr AKCR02000001.4 AKCR02000001
eererr AKCR02000001.4 eerr
root@DESKTOP-1N42TVH:/home/test3# awk '/^AKCR02000001[/t ]|[/t ]AKCR02000001[/t ]|[/t ]AKCR02000001$/' test.txt
AKCR02000001    df
AKCR02000001    df
AKCR02000001    er
aaad AKCR02000001 df
dsfdsffff AKCR02000001
eererr AKCR02000001.4 AKCR02000001

linux 中awk命令实现字符串的精确匹配

 

 

003、实现方式2(利用awk循环实现)

root@DESKTOP-1N42TVH:/home/test3# ls
test.txt
root@DESKTOP-1N42TVH:/home/test3# cat test.txt
AKCR02000001    df
AKCR02000001    df
AKCR02000001    er
AKCR02000001.1  dg
AKCR02000001.1  der
AKCR02000001.1  fg
AKCR02000001.2  ee
AKCR02000001.2  ss
AKCR02000001.2  aa
aaad AKCR02000001 df
dsfdsffff AKCR02000001
eererr AKCR02000001.4 AKCR02000001
eererr AKCR02000001.4 eerr
root@DESKTOP-1N42TVH:/home/test3# awk -v temp="AKCR02000001" '{j = 0; for(i = 1; i <= NF; i++) if($i == temp) {j++} if(j != 0) {print $0}}' test.txt
AKCR02000001    df
AKCR02000001    df
AKCR02000001    er
aaad AKCR02000001 df
dsfdsffff AKCR02000001
eererr AKCR02000001.4 AKCR02000001

linux 中awk命令实现字符串的精确匹配

 

原创文章,作者:6024010,如若转载,请注明出处:https://blog.ytso.com/272321.html

(0)
上一篇 2022年7月9日
下一篇 2022年7月9日

相关推荐

发表回复

登录后才能评论