Re: [問題] 問一個Shell script

看板Linux作者時間16年前 (2008/05/21 19:32), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
※ 引述《allen501pc.bbs@ptt.cc (電腦小玩家)》之銘言: > ※ 引述《allen501pc (電腦小玩家)》之銘言: > 上一篇貼錯code,這個才是對的....Orz > #!/bin/bash > # 目的:這是用來搜尋特定文字並且合成一個file的shell script > # 作者: allen501pc > # 日期: 2008/04/21 > read -p "請輸入您要的關鍵字:" -a related > read -p "請輸入您要合併搜尋到的檔案名稱:" result_file > read -p "請輸入您要區隔這些檔案的分隔線為何?" split_diff > tmpfile=tmp_file_`date +%H%M%S` > grep -lr $related * > $tmpfile > lines=`wc -l $tmpfile|awk '{print $1}'` > for (( i=1; i!="$lines+1" ; i=i+1 )) > do > tmp=`head -n $i $tmpfile|tail -n 1` > cat $tmp >> $result_file > printf $split_diff"\n" >> $result_file > done > rm -rf $tmpfile > : **************** > : 不好意思,請問一下,上面這種Script要怎麼寫成grep -lr $related * 輸出給 > : array 變數接收?我試了許久還是試不出來= = > : 難道一定要利用pipeline導向到一個file之後再來將每個搜尋出來的檔案名合併成為 > : 一個file嘛? > : 因為我想說能否利用Array 變數存放每一行grep的結果,然後利用for loop > : 直接資料導向到一個檔案上! > : 總覺得導向到一個file感覺怪怪的... Q_Q ,但是最後妥協只好寫成這樣子...Orz > : 能否有高手幫幫我?小弟感激不盡了... > : PS:已參考 鳥哥的網站,Study-Area Shell script 教學網站 #!/bin/sh ... touch $result_file for i in `grep -lr $related *` do echo ========== $i start ========== >> $result_file cat $i >> $result_file echo ========== $i end ========== >> $result_file done -- ※ Origin: SayYA 資訊站 <bbs.sayya.org> ◆ From: 220-133-85-146.hinet-ip.hinet.net
文章代碼(AID): #18D0Wo00 (Linux)
文章代碼(AID): #18D0Wo00 (Linux)