私は、nawkブロックを内部に持つUNIXスクリプトを持っています(これはUNIXとNAWKスクリプトの一部です)。もっと多くのロジックがあり、以下のコードは間違いなくnawk ) 国と国コード値を持ち、国の名にブラケット(があるたびに、私は問題に直面したファイルから国ISOコードのルックアップ値を読み込み、このブロック) または単一apostrope「AWKスクリプトのUNIXシェルスクリプトとエスケープ引用符
Sample values
[email protected] D'IVOIRE
[email protected], Democratic Republic of (was Zaire)
私はこれらの2つの問題を克服するのに役立つことができますか?単一のアポストロープで文字列から削除することができますか、既存のコードを微調整することはできます。
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
}
国名の値は動的に割り当てられていて、説明のために値が1つしかありません。それは、ISO諸国のリストのどの国にもなります。ヘルプヘルプ – user549432
あなたが本当にやろうとしていることを説明してください。国の完全な名前に基づいて/tmp/file.txtの各行の国コードを調べて/tmp/code.txtに入れようとしているようです。あれは正しいですか? – janm