J'ai un script UNIX qui contient un bloc nawk (Ceci est juste une partie du script UNIX et NAWK) Il a beaucoup plus de logique et le code ci-dessous devrait certainement être dans nawk) Ce bloc qui lit une valeur de recherche pour le pays code ISO à partir d'un fichier qui a des valeurs de pays et le code de pays et je fais face à un problème chaque fois qu'il ya un support dans le nom du pays() ou un apostrope 'Script shell UNIX et guillemets d'échappement pour le script AWK
Sample values
[email protected] D'IVOIRE
[email protected], Democratic Republic of (was Zaire)
Pouvez-vous m'aider à surmonter ces 2 problèmes. Pour un seul apostrope puis-je l'avoir retiré de la chaîne ou est-il possible de régler le code existant
Code
processbody() {
nawk '{
COUNTRY_NAME = "COTE D'IVOIRE"
if (COUNTRY_NAME != " "){
file = "/tmp/country_codes.txt"
FS = "@"
while(getline < file) {
if($0 ~ COUNTRY_NAME) {
COUNTRY_CODE = $1
}
}
close(file)
}
printf("%s\n",COUNTRY_CODE) > "/tmp/code.txt"
}' /tmp/file.txt
}
La valeur du nom du pays est affectée dynamiquement et à titre explicatif, j'avais une valeur. il peut être n'importe quel pays dans la liste des pays ISO.Pls aide – user549432
Vous devriez expliquer ce que vous essayez vraiment de faire. Il semble que vous essayez vraiment de rechercher le code de pays pour chaque ligne dans /tmp/file.txt en fonction du nom complet du pays et de le placer dans /tmp/code.txt. Est-ce exact? – janm