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