經(jīng)典shell編程實(shí)例

經(jīng)典shell編程實(shí)例

ID:9270191

大小:33.85 KB

頁數(shù):5頁

時間:2018-04-25

經(jīng)典shell編程實(shí)例_第1頁
經(jīng)典shell編程實(shí)例_第2頁
經(jīng)典shell編程實(shí)例_第3頁
經(jīng)典shell編程實(shí)例_第4頁
經(jīng)典shell編程實(shí)例_第5頁
資源描述:

《經(jīng)典shell編程實(shí)例》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。

1、經(jīng)典shell編程實(shí)例如何遠(yuǎn)程殺死僵進(jìn)程?所謂"僵進(jìn)程"是指處于睡眠中,而且沒用的進(jìn)程。在進(jìn)行并行計算時經(jīng)常會有僵進(jìn)程產(chǎn)生。由于用top看不到"僵進(jìn)程",所以寫了如下一個叫做"rkill"的shell文件:#!/bin/tcshecho"Inputstartnumberofnode:"setN1="_FCKpd_0lt;"echo"Inputendnumberofnode:"setN2="_FCKpd_0lt;"echo"InputtheNAMEofprogram"setpname="_FCKpd_0lt;

2、"echo"*"while($N1=$N2)seth='t'$N1setppid=`rsh$hps-ef

3、grep$pname

4、awk'{print}'`echo"rsh$hkill$ppid"rsh$hkill$ppid@N1++endecho"*"如何將一個index文件中的空鏈接刪除?在目錄/doc/Art_and_Photos/photo/NASA-Astronomy_Picture_of_the_Day中只有有限的幾個文件,而archivepix.html文件中卻鏈接了兩千多個文件,我們的目標(biāo)就是

5、要把不存在的文件鏈接刪除掉。#!/bin/tcsh-f#從當(dāng)前目錄中查找有哪些可用文件。find不支持正則表達(dá)式{}settmp=`find.-typef-maxdepth1vuDLinux聯(lián)盟-name"ap[0-9][0-9][0-9][0-9][0-9][0-9].html"`#將查找結(jié)果./ap000303.html轉(zhuǎn)換為ap000303.htmlsetff1=`echo$tmp

6、sed-e's/./(ap[0-9]{6}.html)//g'`#在文件archivepix.html

7、中查找包含類似ap000303.html的行,vuDLinux聯(lián)盟并將其導(dǎo)入臨時文件ftmp中g(shù)rep'ap[0-9]{6}.html'archivepix.htmlftmp#將ftmp中的每一行轉(zhuǎn)換為ap000303.html的形式,這樣ff1和ff2vuDLinux聯(lián)盟中的字符串在形式上就是相同的了。setff2=`sed-e's/.*(ap[0-9]{6}.html).*//g'ftmp`rmftmp-f#比較變量ff1和ff2的內(nèi)容,如果一個字符串只存在于ff2中,vuDLinux聯(lián)

8、盟那么就把文件archivepix.html中含有#該字符串的行刪除掉。foreachf2($ff2)echo$f2setflag=0foreachf1($ff1)if($f2==$f1)thensetflag=1endifendif($flag==0)thensed-e'/'$f2'/d'archivepix.htmlftmp#此句最關(guān)鍵之處在于'$f2'vuDLinux聯(lián)盟可用于正則表達(dá)式。mvftmparchivepix.html-fendifend如何將一個目錄中的所有文件鏈接到網(wǎng)頁中?只要將下列程

9、序的輸出導(dǎo)到一個文件中,再將其拷至網(wǎng)頁的相應(yīng)位置就可以了。這里最關(guān)鍵的是看雙引號如何輸出(")。#!/bin/tcsh-fsetdd="/doc/Art_and_Photos/Flash/flash/AGui"setffff=`find$dd-typef`setn=0foreachf($ffff)@n++echo$fecho'ahref='"$f"''$n',/a'AGui.htmlend如何為一堆文件換名字?在吳老師的筆記心得中介紹了張林波的高招,但那是bash的,而且是以命令行形式給出的。為了便于

10、理解,我將其改寫為tcsh格式,并將其置于腳本文件之中,更利于使用。#!/bin/tcsh-f#-f說明直接運(yùn)行該文件,而不會先運(yùn)行.cshrc進(jìn)行初始化rmtmp_file-f#確保該文件不存在foreachfold(*.jpg.*)setfnew=`echo$fold

11、sed-e"s/.jpg.(.*)/-.jpg/g"`vuDLinux聯(lián)盟#精華之處echo"mv$fold$fnew-f"tmp_fileendchmoda+xtmp_file./tmp_filermtmp_file-f在這個腳

12、本文件中,關(guān)鍵是"精華之處"。它的意義是:首先將要修改的文件名($fold)通過管道(

13、)傳給流編輯器(sed),流編輯器對文件名進(jìn)行處理,其各項的具體意義為:setfnew=`echo$fold

14、sed-e"s/.jpg.(.*)/-.jpg/g"`sed-e命令+選項表示允許多點(diǎn)編輯s/re/string/用string替換正則表達(dá)式re/.jpg.(.*)/vuDLinux聯(lián)盟"."表示一

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費(fèi)完成后未能成功下載的用戶請聯(lián)系客服處理。