下面要實作一個範例,這個Script可以取得檔案每一行的內容,並且搭配其他指令來處理
目的:以檔案的內容,來批次的尋找檔案是否存在
OS:Ubuntu
假設5566.txt 內容:
usr/lib/liba.so
usr/lib/libc.so
usr/lib/libd.so
usr/lib/libe.so
此Script的動作有幾個步驟:
1. 一行一行讀取5566.txt的內容,把每行的內容放到$line當中
2. 搭配awk來處理$line,只取得整行路徑最後的檔案名
3. 會在當下目路去尋找,是否有liba.so、libc.so、libd.so、libe.so這四個library,有的話則會印出來
================= parseTXT.sh ===============
#!/bin/sh
filename="5566.txt"
exec < $filename
while read line
do
#echo $line
lib=$(echo $line | awk -F'/' '{print $NF}') #get last one
#awk '{print $(NF-1)}' #get last two
result=$(find . -name $lib)
#如果尋找的結果非空,則印出來
if [ -n "$result" ]; then
echo $result
fi
count=$(($count+1))
done
echo "count=$count"
================================================
沒有留言:
張貼留言