Linux教程

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

本文主要是介绍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

 

 

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

 

 

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命令实现字符串的精确匹配的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!