2011年2月9日水曜日

ソースコードから「asm」という文字を探す(だけの)スクリプト

RTOS関係でゴニョゴニョしているとアセンブラで記述された箇所のみを抜き出したくなることがあります。
今日はショートブレイクということで、ソースコードから「asm」という文字を探す(だけの)スクリプトを作ってみました。

#!/bin/sh
FILELIST=`find . -name "*.[c|h]"`
KEYWORD="asm"
for FILE in $FILELIST
do
  OUT=`grep $KEYWORD $FILE`
  if [ ! "$OUT" = "" ]
  then
    echo "=== [$FILE] ======================="
    grep -i -n $KEYWORD $FILE
  fi
done

これを使うと例えば以下のような出力が得られます。

=== [./FreeRTOS_Library/portable/port.c] =======================
134:  __asm volatile (
153:  __asm volatile(
222:  __asm volatile
=== [./FreeRTOS_Library/portable/portmacro.h] =======================
113:  __asm volatile                                     \
125:  __asm volatile                         \
=== [./SimpleDemo/cr_startup_lpc17.c] =======================
217:  __asm("  ldr   r0, =_bss\n"

findを使ってCソースとヘッダを探してgrepするだけのシェルスクリプトですが、意外に便利です。

0 件のコメント:

コメントを投稿

[フレーム]

AltStyle によって変換されたページ (->オリジナル) /