目次
前
次
文字列並べ替え(AWK)
アセンブリ言語で記述してあるラベル定義を
Cのマクロ定義に置換したい場合があります。
次のような例です。
PIO_AD EQU 1CH
PIO_AC EQU 1DH
PIO_BD EQU 1EH
PIO_BC EQU 1FH
↓
sfr at 0x1C PIO_AD ;
sfr at 0x1D PIO_AC ;
sfr at 0x1E PIO_BD ;
sfr at 0x1F PIO_BC ;
テキストファイルに、アセンブリ言語のラベル
定義を入れておき、各フィールドの並べ替えを
して、必要な文字列を付加します。
{
printf("sfr at 0x%s %s ;\n",substr($3,0,2),$1)
}
あるいは、次のように記述します。
{
print "sfr at 0x" substr($3,0,2) $1 " ;"
}
文字列処理関数を利用して、不要な'H'を
取り除いてあります。
実際の動作は、以下。
数行程度のフィールドであれば、手で並べ替えて
すぐに終わりますが、10行以上になった場合は
スクリプトを使った方が、ミスが減るでしょう。
目次
前
次