1,有个文件test.txt,内容为:
lwhc08131209.jpg,IsBoy:true,HasGF:false,account_bank:local_bank
lwhc08131210.jpg,IsBoy:true,HasGF:false,account_bank:local_bank
lwhc08131211.jpg,IsBoy:true,HasGF:false,account_bank:people_bank
lwhc08131212.jpg,IsBoy:false,HasGF:false,account_bank:null
lwhc08131213.jpg,IsBoy:true,HasGF:false,account_bank:people_bank
lwhc08131214.jpg,IsBoy:true,HasGF:false,account_bank:people_bank
需要根据结尾分类列举出文件名称,用awk进行处理,指令如:
awk -F "," '$4=="account_bank:null" {print $4}' test.txt
但是一直没有输出结果。测试语法都没有问题。
想起来这个result.txt是在windows下生成的,在linux下用vim输入 ":%!xxd"转内容为16进制(:%!xxd -r 可以将16进制转回文本),果然在每行结尾有"\r\n"(16进制的0D0A),因此awk字符串比较结果为false,因为少了结尾参数。
可以全局替换掉文本中的"\r\n",或者改用awk的字符串匹配函数match,果然能正常输出了
[root@localhost idcard-info-bench-mark]# awk -F "," 'match($4, "null") {print $4}' test.txt
account_bank:null
account_bank:null