Dosyadaki iki satırda tek sayıda çift tırnak işareti varsa, toplam çift tırnak toplamı eşit olur ve dengesiz tırnakları algılamazsınız (aslında yapmak istediğinizi varsayıyorum, ama yanlış olabilirim) ).
Bu awkkomut dosyası, giriş satırında tek tırnak işareti içeren herhangi bir satırı bildirir:
awk -F'"' 'NF % 2 == 0 { printf("Line %d has odd quoting: %s\n", NR, $0) }'
Biz saha ayırıcı (set FSiçin) "ile -F'"'bir çizgi alanlarının eşit sayıda varsa garip tırnak sahip olduğunu hangi yollarla. NFson kayıttaki NRalan sayısıdır ve geçerli kaydın sıra numarasıdır ("satır numarası").
Aşağıdaki girdi verildiğinde:
$ cat file
cluster-env,"manage_dirs_on_root","true"
cluster-env,"one_dir_per_partition","false"
cluster-env,override_uid","true"
cluster-env,recovery_enabled","false"
aldık
$ awk -F'"' 'NF % 2 == 0 { printf("Line %d has odd quoting: %s\n", NR, $0) }' file
Line 3 has odd quoting: cluster-env,override_uid","true"
Line 4 has odd quoting: cluster-env,recovery_enabled","false"
Gibi bir şey
$ grep -o '"' | wc -l
bu dosya için "14" değerini döndürür.