[FILE=NAV_IMG]
PATH = "..\nav_img_8888.i"
FORMAT = "C"
[IMAGE_CONFIG = t_g_nav_frame_bk_bmp]
CONFIG_VARIABLE_NAME = "t_g_nav_frame_bk_bmp"
IMPLEMENT_FILE = "NAV_IMG"
SOURCE_FILE = "NAV_PROG_DETAIL_FRAME.png"
MSG_REPORT = 0
COMPRESSED = 1
[IMAGE_CONFIG = t_g_nav_hlt_bar_bmp]
CONFIG_VARIABLE_NAME = "t_g_nav_hlt_bar_bmp"
IMPLEMENT_FILE = "NAV_IMG"
SOURCE_FILE = "NAV_CH_LST_HT.bmp"
COMPRESSED = 1
、、、、、、
首先我想用腳本把A.txt中用到的所有圖片名都篩選出來,這樣我選擇了AWK來實現,由於當時不熟悉就分了三步:
一、 $ awk '/SOURCE_FILE /{print}' A.txt
解釋:顯示文本文件A.txt 匹配(含有)字符串"SOURCE_FILE"的所有行
結果:
SOURCE_FILE = "NAV_PROG_DETAIL_FRAME.png"
SOURCE_FILE = "NAV_CH_FRAME.png"
SOURCE_FILE = "NAV_CH_LST_HT.bmp"
、、、、、、
高興啊,終於把圖片名字搞出來了。不過我現在只需要NAV_PROG_DETAIL_FRAME.png這樣的名字而已,然後我又學習AWK,發現可以用 :$ awk '{print $3 }' A.txt 可以把"NAV_PROG_DETAIL_FRAME.png"提取出來,這裡邊$3表示域的意思。還多出了一些引號,因此我就著手把引號去掉,學習了半天,找到了一個方法 $ awk -F "[ \" \" ]" '{print $2}' A.txt 可以提取引號中的內容,這裡邊大功臣可是 "[ \" \" ]" 這個啊,放括弧裡邊的正是兩個引號! \" 肯定是匹配引號呗!
結果:
NAV_PROG_DETAIL_FRAME.png
NAV_CH_FRAME.png
NAV_CH_LST_HT.bmp
、、、、、、
上邊的輸出結果都是在終端下打印出來的,能不能定向到一個文件中呢?是可以的!
$ awk '/SOURCE_FILE /{print}' A.txt >txt1.txt
$ awk '{print $3 }' txt1.txt >txt2.txt
$ awk -F "[ \" \" ]" '{print $2}' txt2.txt >txt3.txt
好啦,接下來是不是要用這個txt3.txt來找到相應的圖片呢?開始吧,我用bash編寫腳本,命令:$ vi FILE 來創建一個名為:FILE的文檔。假設我文件都放在 /opt/test/下,輸入以下內容:
##############################################################
#FILE_NAME:FILE
#AUTHOR:chenfeng
#EMAIL:[email protected]
######################################################
#!/bin/sh
clear
i=1
#j=NULL
mkdir /opt/test/BMP
cd /opt/test
#計算這個txt3裡邊共有多少行,剛才提取的圖片名稱在txt3中試一行一行存在的!別問我為什麼,只能怪#awk太強大!
length=`awk 'END{print NR}' /opt/test/txt3.txt`
while (( $i <= $length ))
#下來就是把txt3中一行一行的名字拿出來賦值給choice。
do
choice=`awk "{if ( NR == $i ) print }" /opt/test/txt3.txt`
# echo $choice
# echo "$choice"
# if ($choice != $j)
# then
cp /opt/test/Res/$choice ./BMP #這句就是Copy文件啦
# else
# echo "No such file!"
# fi
i=`expr $i + 1` #這句就是一行一行的增加
done
#############################################################
編輯好後,給FILE加上可運行的權限 就可以了!
$chmod +x FILE 或者$chmod -R 777 FILE
然後 $ source FILE 就OK啦!