锘??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲伦理精品,国产婷婷色综合av蜜臀av,亚洲欧美综合一区http://m.shnenglu.com/prayer/category/7884.html鍦ㄤ竴鑸腑瀵繪眰鍗撹秺zh-cnThu, 04 Apr 2019 13:20:02 GMTThu, 04 Apr 2019 13:20:02 GMT60sed -i鍛戒護璇﹁Вhttp://m.shnenglu.com/prayer/archive/2019/04/04/216337.htmlPrayerPrayerThu, 04 Apr 2019 09:49:00 GMThttp://m.shnenglu.com/prayer/archive/2019/04/04/216337.htmlhttp://m.shnenglu.com/prayer/comments/216337.htmlhttp://m.shnenglu.com/prayer/archive/2019/04/04/216337.html#Feedback0http://m.shnenglu.com/prayer/comments/commentRss/216337.htmlhttp://m.shnenglu.com/prayer/services/trackbacks/216337.htmlhttps://www.cnblogs.com/ev-zhk/p/4277023.html
[root@www ~]# sed [-nefr] [鍔ㄤ綔] 閫夐」涓庡弬鏁幫細 -n 錛氫嬌鐢ㄥ畨闈?silent)妯″紡銆傚湪涓鑸?sed 鐨勭敤娉曚腑錛屾墍鏈夋潵鑷?STDIN 鐨勬暟鎹竴鑸兘浼氳鍒楀嚭鍒扮粓绔笂銆備絾濡傛灉鍔犱笂 -n 鍙傛暟鍚庯紝鍒欏彧鏈夌粡榪噑ed 鐗規畩澶勭悊鐨勯偅涓琛?鎴栬呭姩浣?鎵嶄細琚垪鍑烘潵銆?-e 錛氱洿鎺ュ湪鍛戒護鍒楁ā寮忎笂榪涜 sed 鐨勫姩浣滅紪杈戯紱 -f 錛氱洿鎺ュ皢 sed 鐨勫姩浣滃啓鍦ㄤ竴涓枃浠跺唴錛?-f filename 鍒欏彲浠ヨ繍琛?filename 鍐呯殑 sed 鍔ㄤ綔錛?-r 錛?span style="margin: 0px; padding: 0px; color: #0000ff; line-height: 1.5 !important;">sed 鐨勫姩浣滄敮鎸佺殑鏄歡浼稿瀷姝h琛ㄧず娉曠殑璇硶銆?榛樿鏄熀紜姝h琛ㄧず娉曡娉? -i 錛氱洿鎺ヤ慨鏀硅鍙栫殑鏂囦歡鍐呭錛岃屼笉鏄緭鍑哄埌緇堢銆? 鍔ㄤ綔璇存槑錛?[n1[,n2]]function n1, n2 錛氫笉瑙佸緱浼氬瓨鍦紝涓鑸唬琛ㄣ庨夋嫨榪涜鍔ㄤ綔鐨勮鏁般忥紝涓句緥鏉ヨ錛屽鏋滄垜鐨勫姩浣滄槸闇瑕佸湪 10 鍒?20 琛屼箣闂磋繘琛岀殑錛屽垯銆?10,20[鍔ㄤ綔琛屼負] 銆? function錛?a 錛氭柊澧烇紝 a 鐨勫悗闈㈠彲浠ユ帴瀛椾覆錛岃岃繖浜涘瓧涓蹭細鍦ㄦ柊鐨勪竴琛屽嚭鐜?鐩墠鐨勪笅涓琛?锝?c 錛氬彇浠o紝 c 鐨勫悗闈㈠彲浠ユ帴瀛椾覆錛岃繖浜涘瓧涓插彲浠ュ彇浠?n1,n2 涔嬮棿鐨勮錛?d 錛氬垹闄わ紝鍥犱負鏄垹闄ゅ晩錛屾墍浠?d 鍚庨潰閫氬父涓嶆帴浠諱綍鍜氬挌錛?i 錛氭彃鍏ワ紝 i 鐨勫悗闈㈠彲浠ユ帴瀛椾覆錛岃岃繖浜涘瓧涓蹭細鍦ㄦ柊鐨勪竴琛屽嚭鐜?鐩墠鐨勪笂涓琛?錛?p 錛氬垪鍗幫紝浜﹀嵆灝嗘煇涓夋嫨鐨勬暟鎹嵃鍑恒傞氬父 p 浼氫笌鍙傛暟 sed -n 涓璧瘋繍琛岋綖 s 錛氬彇浠o紝鍙互鐩存帴榪涜鍙栦唬鐨勫伐浣滃摡錛侀氬父榪欎釜 s 鐨勫姩浣滃彲浠ユ惌閰嶆瑙勮〃紺烘硶錛佷緥濡?1,20s/old/new/g 灝辨槸鍟︼紒
澶嶅埗浠g爜


sed -i 灝辨槸鐩存帴瀵規枃鏈枃浠惰繘琛屾搷浣滅殑

sed -i 's/鍘熷瓧絎︿覆/鏂板瓧絎︿覆/' /home/1.txt sed -i 's/鍘熷瓧絎︿覆/鏂板瓧絎︿覆/g' /home/1.txt


榪欎袱鏉″懡浠ょ殑鍖哄埆灝辨槸錛岀湅紺轟緥鍚?/p>

榪欐槸1.txt鐨勫唴瀹?/p>

#cat 1.txt d ddd #ff

鍐嶇湅鎵ц榪欎袱鏉″懡浠ょ殑鍖哄埆鍚?/p>

澶嶅埗浠g爜
sed -i 's/d/7523/' /home/1.txt 鎵ц緇撴灉 7523 7523dd #ff  sed -i 's/d/7523/g' /home/1.txt 鎵ц緇撴灉 7523 752375237523 #ff
澶嶅埗浠g爜

 

鍘繪帀 “琛岄” 甯?#8220;@”鐨勯瀛楁瘝@

sed -i 's/^@//' file

 

鐗瑰畾瀛楃涓茬殑琛屽墠鎻掑叆鏂拌

sed -i '/鐗瑰畾瀛楃涓?i 鏂拌瀛楃涓?/span>' file

 

鐗瑰畾瀛楃涓茬殑琛屽悗鎻掑叆鏂拌

sed -i '/鐗瑰畾瀛楃涓?a 鏂拌瀛楃涓?/span>' file

 

鐗瑰畾瀛楃涓茬殑鍒犻櫎

sed -i '/瀛楃涓?d' file

 



Prayer 2019-04-04 17:49 鍙戣〃璇勮
]]>
sed涓嬌鐢ㄥ彉閲忔浛鎹互鍙婃墽琛屽閮ㄥ懡浠?/title><link>http://m.shnenglu.com/prayer/archive/2019/04/04/216336.html</link><dc:creator>Prayer</dc:creator><author>Prayer</author><pubDate>Thu, 04 Apr 2019 09:46:00 GMT</pubDate><guid>http://m.shnenglu.com/prayer/archive/2019/04/04/216336.html</guid><wfw:comment>http://m.shnenglu.com/prayer/comments/216336.html</wfw:comment><comments>http://m.shnenglu.com/prayer/archive/2019/04/04/216336.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/prayer/comments/commentRss/216336.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/prayer/services/trackbacks/216336.html</trackback:ping><description><![CDATA[<div>https://blog.csdn.net/halazi100/article/details/41722021<br /><br /><p style="box-sizing: border-box; outline: 0px; margin: 0px 0px 16px; padding: 0px; font-family: 'Microsoft YaHei', 'SF Pro Display', Roboto, Noto, Arial, 'PingFang SC', sans-serif; font-size: 16px; color: #4f4f4f; line-height: 26px; overflow-x: auto; word-wrap: break-word; background-color: #ffffff;">鍦ㄤ嬌鐢╯ed瀵規棩蹇楁垨鑰呭叾瀹冩枃鏈繘琛宲arse鐨勮繃紼嬪綋涓紝鏈夋椂鍊欐垜浠渶瑕佸紩鐢ㄥ閮ㄥ彉閲忕殑鍊鹼紝<br style="box-sizing: border-box; outline: 0px; margin: 0px; padding: 0px; word-wrap: break-word;" /> <br style="box-sizing: border-box; outline: 0px; margin: 0px; padding: 0px; word-wrap: break-word;" />鎴栬呰幏鍙栦竴涓猻hell鍛戒護鎵ц鐨勭粨鏋滐紝浠ヤ究杈懼埌鏇村姞鍙鐨勮緭鍑虹粨鏋溿傝繖閲屼粙緇嶅浣曞仛鍒般?br style="box-sizing: border-box; outline: 0px; margin: 0px; padding: 0px; word-wrap: break-word;" /> <br style="box-sizing: border-box; outline: 0px; margin: 0px; padding: 0px; word-wrap: break-word;" />sed涓嬌鐢ㄥ彉閲忔浛鎹?br style="box-sizing: border-box; outline: 0px; margin: 0px; padding: 0px; word-wrap: break-word;" /> <br style="box-sizing: border-box; outline: 0px; margin: 0px; padding: 0px; word-wrap: break-word;" />1.sed鍛戒護浣跨敤鍙屽紩鍙風殑鎯呭喌涓嬶紝浣跨敤$var鐩存帴寮曠敤<br style="box-sizing: border-box; outline: 0px; margin: 0px; padding: 0px; word-wrap: break-word;" /> <br style="box-sizing: border-box; outline: 0px; margin: 0px; padding: 0px; word-wrap: break-word;" />$ echo|sed "s/^/$RANDOM.rmvb_/g"<br style="box-sizing: border-box; outline: 0px; margin: 0px; padding: 0px; word-wrap: break-word;" /> 29328.rmvb_</p><p style="box-sizing: border-box; outline: 0px; margin: 0px 0px 16px; padding: 0px; font-family: 'Microsoft YaHei', 'SF Pro Display', Roboto, Noto, Arial, 'PingFang SC', sans-serif; font-size: 16px; color: #4f4f4f; line-height: 26px; overflow-x: auto; word-wrap: break-word; background-color: #ffffff;">濡傛灉鏇挎崲鐨勫彉閲忓唴瀹逛腑鍚湁/絎﹀彿鍒欎細鎻愮ず濡備笅閿欒錛屽<br style="box-sizing: border-box; outline: 0px; margin: 0px; padding: 0px; word-wrap: break-word;" />鏌ユ壘褰撳墠鐩綍涓嬬殑鐩綍鏂囦歡騫跺皢鐩稿璺緞鏇挎崲涓虹粷瀵硅礬寰?br style="box-sizing: border-box; outline: 0px; margin: 0px; padding: 0px; word-wrap: break-word;" />find . -type f | sed -n "s/\./$PWD/p"<br style="box-sizing: border-box; outline: 0px; margin: 0px; padding: 0px; word-wrap: break-word;" />sed: -e expression #1, char 19: unknown option to `s'<br style="box-sizing: border-box; outline: 0px; margin: 0px; padding: 0px; word-wrap: break-word;" />浠庤娉曚笂鐪嬶紝娌℃湁浠諱綍闂錛涗絾鐢變簬鍙橀噺涓寘鍚湁“/”浣滀負鍒嗛殧絎︼紝榪欎細鍜宻ed鐨勬浛鎹㈡搷浣滅殑鍒嗛殧絎?#8220;/”寮曡搗娣鋒穯錛涙墍浠ワ紝鍙涓嶄嬌鐢?#8220;/”鍋氬垎闅旂灝卞彲浠ヨВ鍐寵繖涓棶棰橈紝濡傛灉浣跨敤“%”鑰屼笉鏄?#8220;/”鏉ヤ綔涓簊ed鐨勬浛鎹㈡搷浣滅殑鍒嗛殧絎︼紝灝變笉浼氬嚭閿欍傚叾瀹炰嬌鐢?鎴?鎴?浣滀負鍒嗛殧絎︿篃鏄彲浠ョ殑錛屽彧瑕佷笉浼氫笌鏇挎崲涓湁鐩稿悓鐨勮屼笖涓嶆槸鍏冨瓧絎︾殑鐗規畩絎﹀彿閮芥槸鍙互鐨勶紱浣跨敤鏃跺彲浠ユ牴鎹儏鍐電伒媧婚夋嫨銆?br style="box-sizing: border-box; outline: 0px; margin: 0px; padding: 0px; word-wrap: break-word;" />find . -type f | sed -n "s%\.%$PWD%p"<br style="box-sizing: border-box; outline: 0px; margin: 0px; padding: 0px; word-wrap: break-word;" />find . -type f | sed -n "s#\.#$PWD#p"</p><p style="box-sizing: border-box; outline: 0px; margin: 0px 0px 16px; padding: 0px; font-family: 'Microsoft YaHei', 'SF Pro Display', Roboto, Noto, Arial, 'PingFang SC', sans-serif; font-size: 16px; color: #4f4f4f; line-height: 26px; overflow-x: auto; word-wrap: break-word; background-color: #ffffff;"># 涓婇潰渚嬪瓙寮曠敤浜嗕竴涓幆澧冨彉閲?RANDOM鐨勫?br style="box-sizing: border-box; outline: 0px; margin: 0px; padding: 0px; word-wrap: break-word;" /> <br style="box-sizing: border-box; outline: 0px; margin: 0px; padding: 0px; word-wrap: break-word;" />2.sed鍛戒護浣跨敤鍗曞紩鍙風殑鎯呭喌涓嬶紝浣跨敤'"$var"'寮曠敤<br style="box-sizing: border-box; outline: 0px; margin: 0px; padding: 0px; word-wrap: break-word;" /> <br style="box-sizing: border-box; outline: 0px; margin: 0px; padding: 0px; word-wrap: break-word;" />綾諱技錛屾垜浠彲浠ョ湅鍒?br style="box-sizing: border-box; outline: 0px; margin: 0px; padding: 0px; word-wrap: break-word;" /> <br style="box-sizing: border-box; outline: 0px; margin: 0px; padding: 0px; word-wrap: break-word;" />$ echo|sed 's/^/'"$RANDOM"'.rmvb_/g'<br style="box-sizing: border-box; outline: 0px; margin: 0px; padding: 0px; word-wrap: break-word;" /> 31338.rmvb_<br style="box-sizing: border-box; outline: 0px; margin: 0px; padding: 0px; word-wrap: break-word;" /> <br style="box-sizing: border-box; outline: 0px; margin: 0px; padding: 0px; word-wrap: break-word;" />sed涓墽琛屽閮ㄥ懡浠?br style="box-sizing: border-box; outline: 0px; margin: 0px; padding: 0px; word-wrap: break-word;" /> <br style="box-sizing: border-box; outline: 0px; margin: 0px; padding: 0px; word-wrap: break-word;" />1.sed鍛戒護浣跨敤鍗曞紩鍙風殑鎯呭喌涓嬩嬌鐢?`shell command`'鎴栬?$(shell command)'寮曠敤鍛戒護鎵ц鐨勭粨鏋?br style="box-sizing: border-box; outline: 0px; margin: 0px; padding: 0px; word-wrap: break-word;" /> <br style="box-sizing: border-box; outline: 0px; margin: 0px; padding: 0px; word-wrap: break-word;" />榪樻槸浠ヤ笂闈㈡渚嬪垎鏋愶紝渚嬪瓙濡備笅<br style="box-sizing: border-box; outline: 0px; margin: 0px; padding: 0px; word-wrap: break-word;" /> <br style="box-sizing: border-box; outline: 0px; margin: 0px; padding: 0px; word-wrap: break-word;" />$ echo|sed 's/^/'`echo $RANDOM`'.rmvb_/g'<br style="box-sizing: border-box; outline: 0px; margin: 0px; padding: 0px; word-wrap: break-word;" /> 8063.rmvb_<br style="box-sizing: border-box; outline: 0px; margin: 0px; padding: 0px; word-wrap: break-word;" /> </p><p style="box-sizing: border-box; outline: 0px; margin: 0px 0px 16px; padding: 0px; font-family: 'Microsoft YaHei', 'SF Pro Display', Roboto, Noto, Arial, 'PingFang SC', sans-serif; font-size: 16px; color: #4f4f4f; line-height: 26px; overflow-x: auto; word-wrap: break-word; background-color: #ffffff;"># 涓婇潰鐨勪緥瀛愪嬌鐢ㄤ簡鏃у紡鐨勫懡浠ゆ浛鎹紝涔熷彲浠ラ噰鐢ㄦ柊寮忕殑鍛戒護鏇挎崲鏂規硶錛屽涓?br style="box-sizing: border-box; outline: 0px; margin: 0px; padding: 0px; word-wrap: break-word;" /> <br style="box-sizing: border-box; outline: 0px; margin: 0px; padding: 0px; word-wrap: break-word;" />$ echo|sed 's/^/'$(echo $RANDOM)'.rmvb_/g'<br style="box-sizing: border-box; outline: 0px; margin: 0px; padding: 0px; word-wrap: break-word;" /> 18554.rmvb_<br style="box-sizing: border-box; outline: 0px; margin: 0px; padding: 0px; word-wrap: break-word;" /> </p><p style="box-sizing: border-box; outline: 0px; margin: 0px 0px 16px; padding: 0px; font-family: 'Microsoft YaHei', 'SF Pro Display', Roboto, Noto, Arial, 'PingFang SC', sans-serif; font-size: 16px; color: #4f4f4f; line-height: 26px; overflow-x: auto; word-wrap: break-word; background-color: #ffffff;"># 涓嬮潰渚嬪瓙鍙栫敤褰撳墠鏃ユ湡浣滀負緇撴灉鐨勪竴閮ㄥ垎錛屽涓?br style="box-sizing: border-box; outline: 0px; margin: 0px; padding: 0px; word-wrap: break-word;" /> <br style="box-sizing: border-box; outline: 0px; margin: 0px; padding: 0px; word-wrap: break-word;" />$ echo|sed 's/^/'$(date +"%Y%m%d")'.rmvb_/g'<br style="box-sizing: border-box; outline: 0px; margin: 0px; padding: 0px; word-wrap: break-word;" /> 20120108.rmvb_<br style="box-sizing: border-box; outline: 0px; margin: 0px; padding: 0px; word-wrap: break-word;" /> </p><p style="box-sizing: border-box; outline: 0px; margin: 0px 0px 16px; padding: 0px; font-family: 'Microsoft YaHei', 'SF Pro Display', Roboto, Noto, Arial, 'PingFang SC', sans-serif; font-size: 16px; color: #4f4f4f; line-height: 26px; overflow-x: auto; word-wrap: break-word; background-color: #ffffff;">2.sed鍛戒護浣跨敤鍙屽紩鍙風殑鎯呭喌涓嬬洿鎺shell command`鎴栬?(shell command)寮曠敤鍛戒護鎵ц鐨勭粨鏋?br style="box-sizing: border-box; outline: 0px; margin: 0px; padding: 0px; word-wrap: break-word;" /> </p><p style="box-sizing: border-box; outline: 0px; margin: 0px 0px 16px; padding: 0px; font-family: 'Microsoft YaHei', 'SF Pro Display', Roboto, Noto, Arial, 'PingFang SC', sans-serif; font-size: 16px; color: #4f4f4f; line-height: 26px; overflow-x: auto; word-wrap: break-word; background-color: #ffffff;">綾諱技鐨勶紝鍙屽紩鍙風殑鎯呭喌錛屽涓?br style="box-sizing: border-box; outline: 0px; margin: 0px; padding: 0px; word-wrap: break-word;" /> <br style="box-sizing: border-box; outline: 0px; margin: 0px; padding: 0px; word-wrap: break-word;" />$ echo|sed "s/^/$(date +"%Y%m%d").rmvb_/g"<br style="box-sizing: border-box; outline: 0px; margin: 0px; padding: 0px; word-wrap: break-word;" /> 20120108.rmvb_<br style="box-sizing: border-box; outline: 0px; margin: 0px; padding: 0px; word-wrap: break-word;" /> </p><p style="box-sizing: border-box; outline: 0px; margin: 0px 0px 16px; padding: 0px; font-family: 'Microsoft YaHei', 'SF Pro Display', Roboto, Noto, Arial, 'PingFang SC', sans-serif; font-size: 16px; color: #4f4f4f; line-height: 26px; overflow-x: auto; word-wrap: break-word; background-color: #ffffff;"># 浣跨敤鐜鍙橀噺$RANDOM浠ュ強鏃у紡鍛戒護鏇挎崲鐨勪緥瀛?br style="box-sizing: border-box; outline: 0px; margin: 0px; padding: 0px; word-wrap: break-word;" /> <br style="box-sizing: border-box; outline: 0px; margin: 0px; padding: 0px; word-wrap: break-word;" />$ echo|sed "s/^/`echo $RANDOM`.rmvb_/g"<br style="box-sizing: border-box; outline: 0px; margin: 0px; padding: 0px; word-wrap: break-word;" /> 4988.rmvb_<br style="box-sizing: border-box; outline: 0px; margin: 0px; padding: 0px; word-wrap: break-word;" /> <br style="box-sizing: border-box; outline: 0px; margin: 0px; padding: 0px; word-wrap: break-word;" />鎬葷粨<br style="box-sizing: border-box; outline: 0px; margin: 0px; padding: 0px; word-wrap: break-word;" /> <br style="box-sizing: border-box; outline: 0px; margin: 0px; padding: 0px; word-wrap: break-word;" />鍦╯ed璇彞閲岄潰錛屽彉閲忔浛鎹㈡垨鑰呮墽琛宻hell鍛戒護錛屽弻寮曞彿姣斿崟寮曞彿灝戠粫涓浜涘集瀛?/p></div><img src ="http://m.shnenglu.com/prayer/aggbug/216336.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/prayer/" target="_blank">Prayer</a> 2019-04-04 17:46 <a href="http://m.shnenglu.com/prayer/archive/2019/04/04/216336.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>linux 姣旇緝涓や釜鏂囦歡澶逛笉鍚?(diff鍛戒護, md5鍒楄〃)http://m.shnenglu.com/prayer/archive/2019/04/04/216335.htmlPrayerPrayerThu, 04 Apr 2019 09:46:00 GMThttp://m.shnenglu.com/prayer/archive/2019/04/04/216335.htmlhttp://m.shnenglu.com/prayer/comments/216335.htmlhttp://m.shnenglu.com/prayer/archive/2019/04/04/216335.html#Feedback0http://m.shnenglu.com/prayer/comments/commentRss/216335.htmlhttp://m.shnenglu.com/prayer/services/trackbacks/216335.html姣旇緝鏂囦歡澶筪iff錛屽彲浠ョ洿鎺ヤ嬌鐢╠iff鍛戒護

[root@~]# diff -urNa dir1 dir2
銆銆-a Treat all files as text and compare them line-by-line, even if they do not seem to be text.
銆銆-N, --new-file
銆銆銆銆In directory comparison, if a file is found in only one directory, treat it as present but empty in the other directory.
銆銆-r When comparing directories, recursively compare any subdirectories found.

銆銆-u Use the unified output format.

 

姣旇緝鏂囦歡澶筪iff錛屼篃鍙互姣旇緝鏂囦歡MD5鍒楄〃銆備笅闈㈠懡浠ゅ彲浠ヨ幏鍙栨枃浠跺す涓枃浠秏d5鍒楄〃

find /home/ -type f -not \( -name '.*' \) -exec md5sum {} \;

璇存槑錛?1) /home/鏂囦歡鐩綍

銆銆   (2) -type f 鏂囦歡綾誨瀷涓烘櫘閫氭枃浠?/p>

銆銆   (3) -not \( -name '.*' \)  榪囨護鎺夐殣钘忔枃浠躲傚彲浠ヨ繃婊ゆ帀涓嶉渶瑕佽冭檻鐨勬枃浠?/p>

         (4) -exec md5sum {} \;  瀵規瘡涓枃浠舵墽琛宮d5sum鍛戒護 

 

 鐢╰ar鍛戒護鍘嬬緝鍚庯紝姣旇緝鏂囦歡鐨凪D5鏄笉琛岀殑銆倀ar鍘嬬緝浼氬甫涓婃枃浠剁殑鏃墮棿



Prayer 2019-04-04 17:46 鍙戣〃璇勮
]]>
SHELL 鍦ㄦ寚瀹氳鐨勫墠/鍚庢彃鍏ユ寚瀹氬唴瀹?/title><link>http://m.shnenglu.com/prayer/archive/2019/04/04/216334.html</link><dc:creator>Prayer</dc:creator><author>Prayer</author><pubDate>Thu, 04 Apr 2019 09:13:00 GMT</pubDate><guid>http://m.shnenglu.com/prayer/archive/2019/04/04/216334.html</guid><wfw:comment>http://m.shnenglu.com/prayer/comments/216334.html</wfw:comment><comments>http://m.shnenglu.com/prayer/archive/2019/04/04/216334.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/prayer/comments/commentRss/216334.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/prayer/services/trackbacks/216334.html</trackback:ping><description><![CDATA[<div>https://www.jianshu.com/p/66f79ad53406<br /><br /><h3>濡傛灉鐭ラ亾琛屽彿鍙互鐢ㄤ笅闈㈢殑鏂規硶</h3><pre bash"="" style="box-sizing: border-box; overflow: auto; font-family: Menlo, Monaco, Consolas, 'Courier New', monospace; font-size: 13px; padding: 15px; margin-top: 0px; margin-bottom: 20px; line-height: 1.42857; word-wrap: normal; color: #abb2bf; background-color: #282c34; border: 1px solid #cccccc; border-top-left-radius: 4px; border-top-right-radius: 4px; border-bottom-right-radius: 4px; border-bottom-left-radius: 4px; word-break: break-word !important;"><code style="box-sizing: border-box; font-family: Menlo, Monaco, Consolas, 'Courier New', monospace; color: inherit; background-color: transparent; border-top-left-radius: 0px; border-top-right-radius: 0px; border-bottom-right-radius: 0px; border-bottom-left-radius: 0px; padding: 0px; border: none; vertical-align: middle;">sed -i <span style="box-sizing: border-box; color: #98c379;">'88 r b.file'</span> a.file <span style="box-sizing: border-box; color: #929292;">#鍦╝.txt鐨勭88琛屾彃鍏ユ枃浠禸.txt</span> awk <span style="box-sizing: border-box; color: #98c379;">'1;NR==88{system("cat b.file")}'</span> a.file > a.file </code></pre><h3>濡傛灉涓嶇煡閬撹鍙鳳紝鍙互鐢ㄦ鍓囧尮閰?/h3><pre bash"="" style="box-sizing: border-box; overflow: auto; font-family: Menlo, Monaco, Consolas, 'Courier New', monospace; font-size: 13px; padding: 15px; margin-top: 0px; margin-bottom: 20px; line-height: 1.42857; word-wrap: normal; color: #abb2bf; background-color: #282c34; border: 1px solid #cccccc; border-top-left-radius: 4px; border-top-right-radius: 4px; border-bottom-right-radius: 4px; border-bottom-left-radius: 4px; word-break: break-word !important;"><code style="box-sizing: border-box; font-family: Menlo, Monaco, Consolas, 'Courier New', monospace; color: inherit; background-color: transparent; border-top-left-radius: 0px; border-top-right-radius: 0px; border-bottom-right-radius: 0px; border-bottom-left-radius: 0px; padding: 0px; border: none; vertical-align: middle;">sed -i <span style="box-sizing: border-box; color: #98c379;">'/regex/ r b.txt'</span> a.txt <span style="box-sizing: border-box; color: #929292;"># regex鏄鍒欒〃杈懼紡</span> awk <span style="box-sizing: border-box; color: #98c379;">'/target/{system("cat b.file")}'</span> a.file > c.file </code></pre><h3>sed鐨勮┍濡傛灉涓嶆敼鍙樻簮鏂囦歡錛屽彲浠ュ幓鎺?i寮鍏籌紝淇敼浼氳緭鍑哄埌STDOUT</h3><p style="box-sizing: border-box; margin: 0px 0px 25px; color: #2f2f2f; font-family: -apple-system, 'SF UI Text', Arial, 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', 'WenQuanYi Micro Hei', sans-serif; font-size: 16px; line-height: 27px; background-color: #ffffff; word-break: break-word !important;">鍘熸枃浠訛細</p><pre ruby"="" style="box-sizing: border-box; overflow: auto; font-family: Menlo, Monaco, Consolas, 'Courier New', monospace; font-size: 13px; padding: 15px; margin-top: 0px; margin-bottom: 20px; line-height: 1.42857; word-wrap: normal; color: #abb2bf; background-color: #282c34; border: 1px solid #cccccc; border-top-left-radius: 4px; border-top-right-radius: 4px; border-bottom-right-radius: 4px; border-bottom-left-radius: 4px; word-break: break-word !important;"><code style="box-sizing: border-box; font-family: Menlo, Monaco, Consolas, 'Courier New', monospace; color: inherit; background-color: transparent; border-top-left-radius: 0px; border-top-right-radius: 0px; border-bottom-right-radius: 0px; border-bottom-left-radius: 0px; padding: 0px; border: none; vertical-align: middle;">[root@xiaowu shell]<span style="box-sizing: border-box; color: #929292;"># cat -n file </span> <span style="box-sizing: border-box; color: #d19a66;">1</span> aaaa <span style="box-sizing: border-box; color: #d19a66;">2</span> bbbb <span style="box-sizing: border-box; color: #d19a66;">3</span> cccc <span style="box-sizing: border-box; color: #d19a66;">4</span> dddd </code></pre><p style="box-sizing: border-box; margin: 0px 0px 25px; color: #2f2f2f; font-family: -apple-system, 'SF UI Text', Arial, 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', 'WenQuanYi Micro Hei', sans-serif; font-size: 16px; line-height: 27px; background-color: #ffffff; word-break: break-word !important;">鐜板湪瑕佸湪絎簩琛屽嵆“bbbb”琛岀殑涓嬮潰娣誨姞涓琛岋紝鍐呭涓?#8220;xiaowu”</p><pre ruby"="" style="box-sizing: border-box; overflow: auto; font-family: Menlo, Monaco, Consolas, 'Courier New', monospace; font-size: 13px; padding: 15px; margin-top: 0px; margin-bottom: 20px; line-height: 1.42857; word-wrap: normal; color: #abb2bf; background-color: #282c34; border: 1px solid #cccccc; border-top-left-radius: 4px; border-top-right-radius: 4px; border-bottom-right-radius: 4px; border-bottom-left-radius: 4px; word-break: break-word !important;"><code style="box-sizing: border-box; font-family: Menlo, Monaco, Consolas, 'Courier New', monospace; color: inherit; background-color: transparent; border-top-left-radius: 0px; border-top-right-radius: 0px; border-bottom-right-radius: 0px; border-bottom-left-radius: 0px; padding: 0px; border: none; vertical-align: middle;">[root@xiaowu shell]<span style="box-sizing: border-box; color: #929292;"># sed '/bbbb/a\xiaowu' file </span> aaaa bbbb xiaowu cccc dddd </code></pre><p style="box-sizing: border-box; margin: 0px 0px 25px; color: #2f2f2f; font-family: -apple-system, 'SF UI Text', Arial, 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', 'WenQuanYi Micro Hei', sans-serif; font-size: 16px; line-height: 27px; background-color: #ffffff; word-break: break-word !important;">濡傛灉瑕佸姞涓よ“xiaowu”鍙互鐢ㄤ竴涓嬭鍙ワ紝娉ㄦ剰鐢?#8220;\n”鎹㈣</p><pre ruby"="" style="box-sizing: border-box; overflow: auto; font-family: Menlo, Monaco, Consolas, 'Courier New', monospace; font-size: 13px; padding: 15px; margin-top: 0px; margin-bottom: 20px; line-height: 1.42857; word-wrap: normal; color: #abb2bf; background-color: #282c34; border: 1px solid #cccccc; border-top-left-radius: 4px; border-top-right-radius: 4px; border-bottom-right-radius: 4px; border-bottom-left-radius: 4px; word-break: break-word !important;"><code style="box-sizing: border-box; font-family: Menlo, Monaco, Consolas, 'Courier New', monospace; color: inherit; background-color: transparent; border-top-left-radius: 0px; border-top-right-radius: 0px; border-bottom-right-radius: 0px; border-bottom-left-radius: 0px; padding: 0px; border: none; vertical-align: middle;">[root@xiaowu shell]<span style="box-sizing: border-box; color: #929292;"># sed '/bbbb/a\xiaowu\nxiaowu' file </span> aaaa bbbb xiaowu xiaowu cccc dddd </code></pre><p style="box-sizing: border-box; margin: 0px 0px 25px; color: #2f2f2f; font-family: -apple-system, 'SF UI Text', Arial, 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', 'WenQuanYi Micro Hei', sans-serif; font-size: 16px; line-height: 27px; background-color: #ffffff; word-break: break-word !important;">濡傛灉瑕佸湪絎簩琛屽嵆“bbbb”琛岀殑涓婃坊鍔犱竴琛岋紝鍐呭涓?#8220;xiaowu”錛屽彲浠ユ妸鍙傛暟“a”鎹㈡垚“i”</p><pre ruby"="" style="box-sizing: border-box; overflow: auto; font-family: Menlo, Monaco, Consolas, 'Courier New', monospace; font-size: 13px; padding: 15px; margin-top: 0px; margin-bottom: 20px; line-height: 1.42857; word-wrap: normal; color: #abb2bf; background-color: #282c34; border: 1px solid #cccccc; border-top-left-radius: 4px; border-top-right-radius: 4px; border-bottom-right-radius: 4px; border-bottom-left-radius: 4px; word-break: break-word !important;"><code style="box-sizing: border-box; font-family: Menlo, Monaco, Consolas, 'Courier New', monospace; color: inherit; background-color: transparent; border-top-left-radius: 0px; border-top-right-radius: 0px; border-bottom-right-radius: 0px; border-bottom-left-radius: 0px; padding: 0px; border: none; vertical-align: middle;">[root@xiaowu shell]<span style="box-sizing: border-box; color: #929292;"># sed '/b/i\xiaowu' file </span> aaaa xiaowu bbbb cccc dddd </code></pre><p style="box-sizing: border-box; margin: 0px 0px 25px; color: #2f2f2f; font-family: -apple-system, 'SF UI Text', Arial, 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', 'WenQuanYi Micro Hei', sans-serif; font-size: 16px; line-height: 27px; background-color: #ffffff; word-break: break-word !important;">浠ヤ笂鏂囦歡涓彧鏈変竴琛屽尮閰嶏紝濡傛灉鏂囦歡涓湁涓よ鎴栬呭琛屽尮閰嶏紝緇撴灉鏈夋槸濡備綍鍛紵</p><pre ruby"="" style="box-sizing: border-box; overflow: auto; font-family: Menlo, Monaco, Consolas, 'Courier New', monospace; font-size: 13px; padding: 15px; margin-top: 0px; margin-bottom: 20px; line-height: 1.42857; word-wrap: normal; color: #abb2bf; background-color: #282c34; border: 1px solid #cccccc; border-top-left-radius: 4px; border-top-right-radius: 4px; border-bottom-right-radius: 4px; border-bottom-left-radius: 4px; word-break: break-word !important;"><code style="box-sizing: border-box; font-family: Menlo, Monaco, Consolas, 'Courier New', monospace; color: inherit; background-color: transparent; border-top-left-radius: 0px; border-top-right-radius: 0px; border-bottom-right-radius: 0px; border-bottom-left-radius: 0px; padding: 0px; border: none; vertical-align: middle;">[root@xiaowu shell]<span style="box-sizing: border-box; color: #929292;"># cat -n file </span> <span style="box-sizing: border-box; color: #d19a66;">1</span> aaaa <span style="box-sizing: border-box; color: #d19a66;">2</span> bbbb <span style="box-sizing: border-box; color: #d19a66;">3</span> cccc <span style="box-sizing: border-box; color: #d19a66;">4</span> bbbb <span style="box-sizing: border-box; color: #d19a66;">5</span> dddd </code></pre><pre ruby"="" style="box-sizing: border-box; overflow: auto; font-family: Menlo, Monaco, Consolas, 'Courier New', monospace; font-size: 13px; padding: 15px; margin-top: 0px; margin-bottom: 20px; line-height: 1.42857; word-wrap: normal; color: #abb2bf; background-color: #282c34; border: 1px solid #cccccc; border-top-left-radius: 4px; border-top-right-radius: 4px; border-bottom-right-radius: 4px; border-bottom-left-radius: 4px; word-break: break-word !important;"><code style="box-sizing: border-box; font-family: Menlo, Monaco, Consolas, 'Courier New', monospace; color: inherit; background-color: transparent; border-top-left-radius: 0px; border-top-right-radius: 0px; border-bottom-right-radius: 0px; border-bottom-left-radius: 0px; padding: 0px; border: none; vertical-align: middle;">[root@xiaowu shell]<span style="box-sizing: border-box; color: #929292;"># sed '/bbbb/a\xiaowu' file </span> aaaa bbbb xiaowu cccc bbbb xiaowu dddd </code></pre><p style="box-sizing: border-box; margin: 0px 0px 25px; color: #2f2f2f; font-family: -apple-system, 'SF UI Text', Arial, 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', 'WenQuanYi Micro Hei', sans-serif; font-size: 16px; line-height: 27px; background-color: #ffffff; word-break: break-word !important;">鐢辯粨鏋滃彲鐭ワ紝姣忎釜鍖歸厤琛岀殑涓嬩竴琛岄兘浼氳娣誨姞“xiaowu”</p><p style="box-sizing: border-box; margin: 0px 0px 25px; color: #2f2f2f; font-family: -apple-system, 'SF UI Text', Arial, 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', 'WenQuanYi Micro Hei', sans-serif; font-size: 16px; line-height: 27px; background-color: #ffffff; word-break: break-word !important;">閭d箞濡傛灉鎸囧悜鍦ㄧ浜屼釜“bbbb”鐨勪笅涓琛屾坊鍔犲唴瀹?#8220;xiaowu”錛岃濡備綍鎿嶄綔鍛紵<br style="box-sizing: border-box;" />鍙互鑰冭檻鍏堣幏鍙栫浜屼釜“bbbb”琛岀殑琛屽彿錛岀劧鍚庢牴鎹鍙峰湪姝よ鐨勪笅涓琛屾坊鍔?#8220;xiaowu”</p><p style="box-sizing: border-box; margin: 0px 0px 25px; color: #2f2f2f; font-family: -apple-system, 'SF UI Text', Arial, 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', 'WenQuanYi Micro Hei', sans-serif; font-size: 16px; line-height: 27px; background-color: #ffffff; word-break: break-word !important;">鑾峰彇絎簩涓?#8220;bbbb”琛岀殑琛屽彿鐨勬柟娉曪細<br style="box-sizing: border-box;" />鏂規硶涓錛?/p><pre objectivec"="" style="box-sizing: border-box; overflow: auto; font-family: Menlo, Monaco, Consolas, 'Courier New', monospace; font-size: 13px; padding: 15px; margin-top: 0px; margin-bottom: 20px; line-height: 1.42857; word-wrap: normal; color: #abb2bf; background-color: #282c34; border: 1px solid #cccccc; border-top-left-radius: 4px; border-top-right-radius: 4px; border-bottom-right-radius: 4px; border-bottom-left-radius: 4px; word-break: break-word !important;"><code style="box-sizing: border-box; font-family: Menlo, Monaco, Consolas, 'Courier New', monospace; color: inherit; background-color: transparent; border-top-left-radius: 0px; border-top-right-radius: 0px; border-bottom-right-radius: 0px; border-bottom-left-radius: 0px; padding: 0px; border: none; vertical-align: middle;">[root@xiaowu shell]<span style="box-sizing: border-box; color: #61aeee;"># cat -n file |grep b |awk '{print $1}'|sed -n <span style="box-sizing: border-box; color: #98c379;">"2"</span>p</span> <span style="box-sizing: border-box; color: #d19a66;">4</span> </code></pre><p style="box-sizing: border-box; margin: 0px 0px 25px; color: #2f2f2f; font-family: -apple-system, 'SF UI Text', Arial, 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', 'WenQuanYi Micro Hei', sans-serif; font-size: 16px; line-height: 27px; background-color: #ffffff; word-break: break-word !important;">鏂規硶浜岋細</p><pre objectivec"="" style="box-sizing: border-box; overflow: auto; font-family: Menlo, Monaco, Consolas, 'Courier New', monospace; font-size: 13px; padding: 15px; margin-top: 0px; margin-bottom: 20px; line-height: 1.42857; word-wrap: normal; color: #abb2bf; background-color: #282c34; border: 1px solid #cccccc; border-top-left-radius: 4px; border-top-right-radius: 4px; border-bottom-right-radius: 4px; border-bottom-left-radius: 4px; word-break: break-word !important;"><code style="box-sizing: border-box; font-family: Menlo, Monaco, Consolas, 'Courier New', monospace; color: inherit; background-color: transparent; border-top-left-radius: 0px; border-top-right-radius: 0px; border-bottom-right-radius: 0px; border-bottom-left-radius: 0px; padding: 0px; border: none; vertical-align: middle;">[root@xiaowu shell]<span style="box-sizing: border-box; color: #61aeee;"># sed -n '/bbbb/=' file |sed -n <span style="box-sizing: border-box; color: #98c379;">"2"</span>p</span> <span style="box-sizing: border-box; color: #d19a66;">4</span> </code></pre><p style="box-sizing: border-box; margin: 0px 0px 25px; color: #2f2f2f; font-family: -apple-system, 'SF UI Text', Arial, 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', 'WenQuanYi Micro Hei', sans-serif; font-size: 16px; line-height: 27px; background-color: #ffffff; word-break: break-word !important;">鐢辯粨鏋滃彲鐭ョ浜屼釜“bbbb”琛岀殑琛屽彿涓?錛岀劧鍚庡啀鍦ㄧ鍥涜鐨勫墠鎴栧悗娣誨姞鐩稿簲鐨勫唴瀹?</p><pre ruby"="" style="box-sizing: border-box; overflow: auto; font-family: Menlo, Monaco, Consolas, 'Courier New', monospace; font-size: 13px; padding: 15px; margin-top: 0px; margin-bottom: 20px; line-height: 1.42857; word-wrap: normal; color: #abb2bf; background-color: #282c34; border: 1px solid #cccccc; border-top-left-radius: 4px; border-top-right-radius: 4px; border-bottom-right-radius: 4px; border-bottom-left-radius: 4px; word-break: break-word !important;"><code style="box-sizing: border-box; font-family: Menlo, Monaco, Consolas, 'Courier New', monospace; color: inherit; background-color: transparent; border-top-left-radius: 0px; border-top-right-radius: 0px; border-bottom-right-radius: 0px; border-bottom-left-radius: 0px; padding: 0px; border: none; vertical-align: middle;">[root@xiaowu shell]<span style="box-sizing: border-box; color: #929292;"># sed -e '4a\xiaowu' file </span> aaaa bbbb cccc bbbb xiaowu dddd </code></pre><pre ruby"="" style="box-sizing: border-box; overflow: auto; font-family: Menlo, Monaco, Consolas, 'Courier New', monospace; font-size: 13px; padding: 15px; margin-top: 0px; margin-bottom: 20px; line-height: 1.42857; word-wrap: normal; color: #abb2bf; background-color: #282c34; border: 1px solid #cccccc; border-top-left-radius: 4px; border-top-right-radius: 4px; border-bottom-right-radius: 4px; border-bottom-left-radius: 4px; word-break: break-word !important;"><code style="box-sizing: border-box; font-family: Menlo, Monaco, Consolas, 'Courier New', monospace; color: inherit; background-color: transparent; border-top-left-radius: 0px; border-top-right-radius: 0px; border-bottom-right-radius: 0px; border-bottom-left-radius: 0px; padding: 0px; border: none; vertical-align: middle;">[root@xiaowu shell]<span style="box-sizing: border-box; color: #929292;"># sed -e '4a\xiaowu\nxiaowu' file </span> aaaa bbbb cccc bbbb xiaowu xiaowu dddd </code></pre><p style="box-sizing: border-box; margin: 0px 0px 25px; color: #2f2f2f; font-family: -apple-system, 'SF UI Text', Arial, 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', 'WenQuanYi Micro Hei', sans-serif; font-size: 16px; line-height: 27px; background-color: #ffffff; word-break: break-word !important;">鍚戞寚瀹氳鐨勬湯灝炬坊鍔犳寚瀹氬唴瀹癸紝姣斿鍦?#8220;ccccc”琛岀殑琛屽熬浠嬬粛“ eeeee”</p><pre ruby"="" style="box-sizing: border-box; overflow: auto; font-family: Menlo, Monaco, Consolas, 'Courier New', monospace; font-size: 13px; padding: 15px; margin-top: 0px; margin-bottom: 20px; line-height: 1.42857; word-wrap: normal; color: #abb2bf; background-color: #282c34; border: 1px solid #cccccc; border-top-left-radius: 4px; border-top-right-radius: 4px; border-bottom-right-radius: 4px; border-bottom-left-radius: 4px; word-break: break-word !important;"><code style="box-sizing: border-box; font-family: Menlo, Monaco, Consolas, 'Courier New', monospace; color: inherit; background-color: transparent; border-top-left-radius: 0px; border-top-right-radius: 0px; border-bottom-right-radius: 0px; border-bottom-left-radius: 0px; padding: 0px; border: none; vertical-align: middle;">[root@xiaowu shell]<span style="box-sizing: border-box; color: #929292;"># cat file</span> aaaaa bbbbb ccccc ddddd [root@xiaowu shell]<span style="box-sizing: border-box; color: #929292;"># sed 's/cc.*/& eeeee/g' file</span> aaaaa bbbbb ccccc eeeee ddddd </code></pre><p style="box-sizing: border-box; margin: 0px 0px 25px; color: #2f2f2f; font-family: -apple-system, 'SF UI Text', Arial, 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', 'WenQuanYi Micro Hei', sans-serif; font-size: 16px; line-height: 27px; background-color: #ffffff; word-break: break-word !important;"><a target="_blank" rel="nofollow" style="box-sizing: border-box; background-color: transparent; color: #3194d0; text-decoration: none; cursor: pointer;">鍘熸枃閾炬帴</a></p></div><img src ="http://m.shnenglu.com/prayer/aggbug/216334.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/prayer/" target="_blank">Prayer</a> 2019-04-04 17:13 <a href="http://m.shnenglu.com/prayer/archive/2019/04/04/216334.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>Linux Sftp 涓嬭澆鏁翠釜鏂囦歡鐩綍http://m.shnenglu.com/prayer/archive/2019/03/18/216302.htmlPrayerPrayerMon, 18 Mar 2019 06:42:00 GMThttp://m.shnenglu.com/prayer/archive/2019/03/18/216302.htmlhttp://m.shnenglu.com/prayer/comments/216302.htmlhttp://m.shnenglu.com/prayer/archive/2019/03/18/216302.html#Feedback0http://m.shnenglu.com/prayer/comments/commentRss/216302.htmlhttp://m.shnenglu.com/prayer/services/trackbacks/216302.html鐩存帴鐪嬪浘錛?/span>

   

鏈変袱涓壒鐐癸細

1錛氫嬌鐢?r鍙傛暟

2錛氬湪鐩綍鍚庨潰浣跨敤"."鍙?br style="box-sizing: border-box; outline: 0px; margin: 0px; padding: 0px; word-wrap: break-word;" /> 

榪欐牱鐨勮瘽灝卞彲浠ユ妸/opt/merkle 鐩綍鍜屽瓙鐩綍閲岄潰鐨勬枃浠跺叏閮ㄤ笅杞藉埌鏈湴浜嗐?/span>



Prayer 2019-03-18 14:42 鍙戣〃璇勮
]]>
shell鑴氭湰鎶ラ敊"[: =: unary operator expected"鐨勮В鍐蟲柟妗?/title><link>http://m.shnenglu.com/prayer/archive/2019/03/01/216275.html</link><dc:creator>Prayer</dc:creator><author>Prayer</author><pubDate>Fri, 01 Mar 2019 07:20:00 GMT</pubDate><guid>http://m.shnenglu.com/prayer/archive/2019/03/01/216275.html</guid><wfw:comment>http://m.shnenglu.com/prayer/comments/216275.html</wfw:comment><comments>http://m.shnenglu.com/prayer/archive/2019/03/01/216275.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/prayer/comments/commentRss/216275.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/prayer/services/trackbacks/216275.html</trackback:ping><description><![CDATA[<p style="box-sizing: border-box; outline: 0px; margin: 0px 0px 16px; padding: 0px; font-family: Arial; color: #333333; line-height: 26px; overflow-x: auto; word-wrap: break-word; background-color: #ffffff;"><span style="box-sizing: border-box; outline: 0px; margin: 0px; padding: 0px; font-family: 'Microsoft YaHei', 'SF Pro Display', Roboto, Noto, Arial, 'PingFang SC', sans-serif; word-wrap: break-word;">  鍦ㄥ尮閰嶅瓧絎︿覆鐩哥瓑鏃訛紝鎴戠敤浜嗙被浼艱繖鏍風殑璇彞錛?/span></p><p style="box-sizing: border-box; outline: 0px; margin: 0px 0px 16px; padding: 0px; font-family: Arial; color: #333333; line-height: 26px; overflow-x: auto; word-wrap: break-word; background-color: #ffffff;"><span style="box-sizing: border-box; outline: 0px; margin: 0px; padding: 0px; font-family: 'Microsoft YaHei', 'SF Pro Display', Roboto, Noto, Arial, 'PingFang SC', sans-serif; word-wrap: break-word;">if [ $STATUS == "OK" ]; then     </span></p><p style="box-sizing: border-box; outline: 0px; margin: 0px 0px 16px; padding: 0px; font-family: Arial; color: #333333; line-height: 26px; overflow-x: auto; word-wrap: break-word; background-color: #ffffff;"><span style="box-sizing: border-box; outline: 0px; margin: 0px; padding: 0px; font-family: 'Microsoft YaHei', 'SF Pro Display', Roboto, Noto, Arial, 'PingFang SC', sans-serif; word-wrap: break-word;">echo "OK"</span></p><p style="box-sizing: border-box; outline: 0px; margin: 0px 0px 16px; padding: 0px; font-family: Arial; color: #333333; line-height: 26px; overflow-x: auto; word-wrap: break-word; background-color: #ffffff;"><span style="box-sizing: border-box; outline: 0px; margin: 0px; padding: 0px; font-family: 'Microsoft YaHei', 'SF Pro Display', Roboto, Noto, Arial, 'PingFang SC', sans-serif; word-wrap: break-word;">fi</span></p><p style="box-sizing: border-box; outline: 0px; margin: 0px 0px 16px; padding: 0px; font-family: Arial; color: #333333; line-height: 26px; overflow-x: auto; word-wrap: break-word; background-color: #ffffff;"><span style="box-sizing: border-box; outline: 0px; margin: 0px; padding: 0px; font-family: 'Microsoft YaHei', 'SF Pro Display', Roboto, Noto, Arial, 'PingFang SC', sans-serif; word-wrap: break-word;">    鍦ㄨ繍琛屾椂鍑虹幇浜?#8220; [: =: unary operator expected” 鐨勯敊璇紝灝變竴鐩存壘涓嶅埌鍘熷洜錛屽皾璇曚簡鍒犻櫎絳夊彿涓や晶鐨勭┖鏍煎拰鎷彿閲岀殑絀烘牸閮戒笉綆$敤銆傛渶鍚?a target="_blank" style="box-sizing: border-box; outline: 0px; margin: 0px; padding: 0px; color: #6795b5; text-decoration: none; cursor: pointer; word-wrap: break-word;">baidu</a>浜嗕竴涓嬶紝鎵嶆壘鍒板師鍥狅紝鍦ㄦ潯浠惰〃杈懼紡澶栧啀娣誨姞涓灞?#8220;[]”錛屽氨涓嶄細鍑洪敊浜嗭紝濡備笅錛?/span></p><p style="box-sizing: border-box; outline: 0px; margin: 0px 0px 16px; padding: 0px; font-family: Arial; color: #333333; line-height: 26px; overflow-x: auto; word-wrap: break-word; background-color: #ffffff;"><span style="box-sizing: border-box; outline: 0px; margin: 0px; padding: 0px; font-family: 'Microsoft YaHei', 'SF Pro Display', Roboto, Noto, Arial, 'PingFang SC', sans-serif; word-wrap: break-word;">if [[ $STATUS = "OK" ]]; </span><span style="box-sizing: border-box; outline: 0px; margin: 0px; padding: 0px; font-family: 'Microsoft YaHei', 'SF Pro Display', Roboto, Noto, Arial, 'PingFang SC', sans-serif; word-wrap: break-word;"><span style="box-sizing: border-box; outline: 0px; margin: 0px; padding: 0px; word-wrap: break-word;">then  </span>  </span></p><p style="box-sizing: border-box; outline: 0px; margin: 0px 0px 16px; padding: 0px; font-family: Arial; color: #333333; line-height: 26px; overflow-x: auto; word-wrap: break-word; background-color: #ffffff;"><span style="box-sizing: border-box; outline: 0px; margin: 0px; padding: 0px; font-family: 'Microsoft YaHei', 'SF Pro Display', Roboto, Noto, Arial, 'PingFang SC', sans-serif; word-wrap: break-word;">echo "OK"</span></p><p style="box-sizing: border-box; outline: 0px; margin: 0px 0px 16px; padding: 0px; font-family: Arial; color: #333333; line-height: 26px; overflow-x: auto; word-wrap: break-word; background-color: #ffffff;"><span style="box-sizing: border-box; outline: 0px; margin: 0px; padding: 0px; font-family: 'Microsoft YaHei', 'SF Pro Display', Roboto, Noto, Arial, 'PingFang SC', sans-serif; word-wrap: break-word;">fi </span></p><p style="box-sizing: border-box; outline: 0px; margin: 0px 0px 16px; padding: 0px; font-family: Arial; color: #333333; line-height: 26px; overflow-x: auto; word-wrap: break-word; background-color: #ffffff;"><span style="box-sizing: border-box; outline: 0px; margin: 0px; padding: 0px; font-family: 'Microsoft YaHei', 'SF Pro Display', Roboto, Noto, Arial, 'PingFang SC', sans-serif; word-wrap: break-word;">    絀跺叾鍘熷洜錛屾槸鍥犱負濡傛灉鍙橀噺STATUS鍊間負絀猴紝閭d箞<span style="box-sizing: border-box; outline: 0px; margin: 0px; padding: 0px; font-family: Arial; word-wrap: break-word;">鏉′歡琛ㄨ揪寮?/span>灝辨垚浜?[ = "OK"] 錛屾樉鐒?[ 鍜?"OK" 涓嶇浉絳夊茍涓旂己灝戜簡 </span><span style="box-sizing: border-box; outline: 0px; margin: 0px; padding: 0px; font-family: 'Microsoft YaHei', 'SF Pro Display', Roboto, Noto, Arial, 'PingFang SC', sans-serif; word-wrap: break-word;">[ 絎﹀彿錛屾墍浠ユ姤浜嗚繖鏍風殑閿欒銆傚綋鐒朵笉鎬繪槸鍑洪敊錛屽鏋滃彉閲廠TATUS鍊間笉涓虹┖錛岀▼搴忓氨姝e父浜嗭紝鎵浠ヨ繖鏍風殑閿欒榪樻槸寰堥殣钄界殑銆?/span></p><p style="box-sizing: border-box; outline: 0px; margin: 0px 0px 16px; padding: 0px; font-family: Arial; color: #333333; line-height: 26px; overflow-x: auto; word-wrap: break-word; background-color: #ffffff;"><span style="box-sizing: border-box; outline: 0px; margin: 0px; padding: 0px; font-family: 'Microsoft YaHei', 'SF Pro Display', Roboto, Noto, Arial, 'PingFang SC', sans-serif; word-wrap: break-word;">    鎴栬咃紝鐢ㄤ笅闈㈢殑鏂規硶涔熻兘閬垮厤榪欑閿欒錛?/span></p><p style="box-sizing: border-box; outline: 0px; margin: 0px 0px 16px; padding: 0px; font-family: Arial; color: #333333; line-height: 26px; overflow-x: auto; word-wrap: break-word; background-color: #ffffff;"><span style="box-sizing: border-box; outline: 0px; margin: 0px; padding: 0px; font-family: 'Microsoft YaHei', 'SF Pro Display', Roboto, Noto, Arial, 'PingFang SC', sans-serif; word-wrap: break-word;"><span style="box-sizing: border-box; outline: 0px; margin: 0px; padding: 0px; word-wrap: break-word;">if [ "$STATUS"x == "OK"x ]; then   </span>  </span></p><p style="box-sizing: border-box; outline: 0px; margin: 0px 0px 16px; padding: 0px; font-family: Arial; color: #333333; line-height: 26px; overflow-x: auto; word-wrap: break-word; background-color: #ffffff;"><span style="box-sizing: border-box; outline: 0px; margin: 0px; padding: 0px; font-family: 'Microsoft YaHei', 'SF Pro Display', Roboto, Noto, Arial, 'PingFang SC', sans-serif; word-wrap: break-word;">echo</span></p><p style="box-sizing: border-box; outline: 0px; margin: 0px 0px 16px; padding: 0px; font-family: Arial; color: #333333; line-height: 26px; overflow-x: auto; word-wrap: break-word; background-color: #ffffff;"><span style="box-sizing: border-box; outline: 0px; margin: 0px; padding: 0px; font-family: 'Microsoft YaHei', 'SF Pro Display', Roboto, Noto, Arial, 'PingFang SC', sans-serif; word-wrap: break-word;">"OK"</span></p><p style="box-sizing: border-box; outline: 0px; margin: 0px 0px 16px; padding: 0px; font-family: Arial; color: #333333; line-height: 26px; overflow-x: auto; word-wrap: break-word; background-color: #ffffff;"><span style="box-sizing: border-box; outline: 0px; margin: 0px; padding: 0px; font-family: 'Microsoft YaHei', 'SF Pro Display', Roboto, Noto, Arial, 'PingFang SC', sans-serif; word-wrap: break-word;">fi銆?/span></p><p style="box-sizing: border-box; outline: 0px; margin: 0px 0px 16px; padding: 0px; font-family: Arial; color: #333333; line-height: 26px; overflow-x: auto; word-wrap: break-word; background-color: #ffffff;"><span style="box-sizing: border-box; outline: 0px; margin: 0px; padding: 0px; font-family: 'Microsoft YaHei', 'SF Pro Display', Roboto, Noto, Arial, 'PingFang SC', sans-serif; word-wrap: break-word;">褰撶劧錛寈涔熷彲浠ユ槸鍏朵粬瀛楃銆傞『渚挎彁涓鐐癸紝shell涓湁娌℃湁鍙屽紩鍙峰湪寰堝鎯呭喌涓嬫槸涓鑷寸殑銆?/span></p><p style="box-sizing: border-box; outline: 0px; margin: 0px 0px 16px; padding: 0px; font-family: Arial; color: #333333; line-height: 26px; overflow-x: auto; word-wrap: break-word; background-color: #ffffff;"> </p><p style="box-sizing: border-box; outline: 0px; margin: 0px 0px 16px; padding: 0px; font-family: Arial; color: #333333; line-height: 26px; overflow-x: auto; word-wrap: break-word; background-color: #ffffff;"><span style="box-sizing: border-box; outline: 0px; margin: 0px; padding: 0px; font-family: 'Microsoft YaHei', 'SF Pro Display', Roboto, Noto, Arial, 'PingFang SC', sans-serif; word-wrap: break-word;">杞嚜錛?a rel="nofollow" target="_blank" style="box-sizing: border-box; outline: 0px; margin: 0px; padding: 0px; color: #336699; text-decoration: none; cursor: pointer; word-wrap: break-word;">http://hi.baidu.com/vishare/blog/item/bd8ab9ee289753252cf53417.html</a></span></p><img src ="http://m.shnenglu.com/prayer/aggbug/216275.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/prayer/" target="_blank">Prayer</a> 2019-03-01 15:20 <a href="http://m.shnenglu.com/prayer/archive/2019/03/01/216275.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>shell鑴氭湰瀛楃涓叉埅鍙栫殑8縐嶆柟娉?/title><link>http://m.shnenglu.com/prayer/archive/2019/01/24/216219.html</link><dc:creator>Prayer</dc:creator><author>Prayer</author><pubDate>Thu, 24 Jan 2019 06:18:00 GMT</pubDate><guid>http://m.shnenglu.com/prayer/archive/2019/01/24/216219.html</guid><wfw:comment>http://m.shnenglu.com/prayer/comments/216219.html</wfw:comment><comments>http://m.shnenglu.com/prayer/archive/2019/01/24/216219.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/prayer/comments/commentRss/216219.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/prayer/services/trackbacks/216219.html</trackback:ping><description><![CDATA[     鎽樿: https://www.cnblogs.com/zwgblog/p/6031256.html鍋囪鏈夊彉閲?var=http://www.aaa.com/123.htm.1. # 鍙鋒埅鍙栵紝鍒犻櫎宸﹁竟瀛楃錛屼繚鐣欏彸杈瑰瓧絎︺?echo ${var#*//} 鍏朵腑 var 鏄彉閲忓悕錛? 鍙鋒槸榪愮畻絎︼紝*// 琛ㄧず浠庡乏杈瑰紑濮嬪垹闄ょ涓涓?// 鍙峰強宸﹁竟鐨勬墍鏈夊瓧絎﹀嵆鍒犻櫎 http://緇撴灉鏄?錛歸ww.aaa...  <a href='http://m.shnenglu.com/prayer/archive/2019/01/24/216219.html'>闃呰鍏ㄦ枃</a><img src ="http://m.shnenglu.com/prayer/aggbug/216219.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/prayer/" target="_blank">Prayer</a> 2019-01-24 14:18 <a href="http://m.shnenglu.com/prayer/archive/2019/01/24/216219.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>linux fg bg ctrl + z jobs & 絳夊懡浠?/title><link>http://m.shnenglu.com/prayer/archive/2010/11/29/135006.html</link><dc:creator>Prayer</dc:creator><author>Prayer</author><pubDate>Mon, 29 Nov 2010 10:50:00 GMT</pubDate><guid>http://m.shnenglu.com/prayer/archive/2010/11/29/135006.html</guid><wfw:comment>http://m.shnenglu.com/prayer/comments/135006.html</wfw:comment><comments>http://m.shnenglu.com/prayer/archive/2010/11/29/135006.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/prayer/comments/commentRss/135006.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/prayer/services/trackbacks/135006.html</trackback:ping><description><![CDATA[<p>fg銆乥g銆乯obs銆?amp;銆乧trl + z閮芥槸璺熺郴緇熶換鍔℃湁鍏崇殑錛岃櫧鐒剁幇鍦ㄥ熀鏈笂涓嶆庝箞闇瑕佺敤鍒拌繖浜涘懡浠わ紝浣嗗浼氫簡涔熸槸寰堝疄鐢ㄧ殑<br>涓銆?amp; 鏈緇忓父琚敤鍒?br>   榪欎釜鐢ㄥ湪涓涓懡浠ょ殑鏈鍚庯紝鍙互鎶婅繖涓懡浠ゆ斁鍒板悗鍙版墽琛?br>浜屻俢trl + z<br>     鍙互灝嗕竴涓鍦ㄥ墠鍙版墽琛岀殑鍛戒護鏀懼埌鍚庡彴錛屽茍涓旀殏鍋?br>涓夈俲obs<br>     鏌ョ湅褰撳墠鏈夊灝戝湪鍚庡彴榪愯鐨勫懡浠?br>鍥涖俧g<br>     灝嗗悗鍙頒腑鐨勫懡浠よ皟鑷沖墠鍙扮戶緇繍琛?br>   濡傛灉鍚庡彴涓湁澶氫釜鍛戒護錛屽彲浠ョ敤 fg %jobnumber灝嗛変腑鐨勫懡浠よ皟鍑猴紝%jobnumber鏄氳繃jobs鍛戒護鏌ュ埌鐨勫悗鍙版鍦ㄦ墽琛岀殑鍛戒護鐨勫簭鍙?涓嶆槸pid)<br>浜斻俠g<br>     灝嗕竴涓湪鍚庡彴鏆傚仠鐨勫懡浠わ紝鍙樻垚緇х畫鎵ц<br>   濡傛灉鍚庡彴涓湁澶氫釜鍛戒護錛屽彲浠ョ敤bg %jobnumber灝嗛変腑鐨勫懡浠よ皟鍑猴紝%jobnumber鏄氳繃jobs鍛戒護鏌ュ埌鐨勫悗鍙版鍦ㄦ墽琛岀殑鍛戒護鐨勫簭鍙?涓嶆槸pid)</p> <img src ="http://m.shnenglu.com/prayer/aggbug/135006.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/prayer/" target="_blank">Prayer</a> 2010-11-29 18:50 <a href="http://m.shnenglu.com/prayer/archive/2010/11/29/135006.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>shell鏁扮粍璇﹁Вhttp://m.shnenglu.com/prayer/archive/2010/09/15/126653.htmlPrayerPrayerWed, 15 Sep 2010 05:26:00 GMThttp://m.shnenglu.com/prayer/archive/2010/09/15/126653.htmlhttp://m.shnenglu.com/prayer/comments/126653.htmlhttp://m.shnenglu.com/prayer/archive/2010/09/15/126653.html#Feedback0http://m.shnenglu.com/prayer/comments/commentRss/126653.htmlhttp://m.shnenglu.com/prayer/services/trackbacks/126653.html

Bash涓繕鍙互浣跨敤鏁扮粍鍙橀噺,鍏惰祴鍊兼湁涓ょ:

(1) name = (value1 ... valuen) 姝ゆ椂涓嬫爣浠?寮濮?br>(2) name[index] = value

鏁扮粍涓嬫爣鐨勮寖鍥存病鏈変換浣曢檺鍒?鍚屾椂涔熶笉蹇呬嬌鐢ㄨ繛緇殑鍒嗛噺.


$ A=(a b c def)

==================================================
$ echo ${A[@]}          //鍙栧叏閮ㄥ厓绱?br>a b c def

=================================================

$ echo ${A[0]}         //鍙栫涓涓厓绱?br>a

=================================================

//鍙栧緱鏁扮粍鍏冪礌鐨勪釜鏁?br>$ echo ${#A[@]}
4
$ echo ${#A[*]}
4
$ echo ${#A[3]}     //鍙栧緱鍏冪礌3鐨勯暱搴?/div>
$

==================================================

$ A[3]=yaoshuyin    //灝嗙涓変釜鍏冪礌閲嶆柊璧嬪?br>$ echo ${A[@]}
a b c yaoshuyin

==================================================
//娓呴櫎鍙橀噺
$ unset A
$ echo ${A[@]}
$

==================================================

//娓呯┖鍙橀噺,鍗沖皢鍊煎彉涓虹┖
$ A=
$ echo ${A[@]}
$
==================================================

A=B
B=C
unset $A 浜嬪疄涓婃墍鍙栨秷鐨勫彉閲忔槸 B 鑰屼笉鏄?A


=======================紺轟緥 while寰幆========================

#寤虹珛鏁扮粍
arrSource=("arrJobs.php"  "arrSubHangye.php" "arrFirst.php" )

arrDest=("buildhr"            \
         "buildtrain/htdocs"  \
         "bankhr"             \
         "healthr"            \
         "elehr"              \
         )

#鍙栨暟緇勬棤鍏冪礌涓暟
lenArrSource=${#arrSource[*]}
lenArrDest=${#arrDest[*]}


#寰幆鍒楀嚭鏁扮粍鍏冪礌
i=0
while  [ $i -lt $lenArrSource ]
do
   echo ${arrSource[$i]}
   let i++
done


i=0
while  [ $i -lt $lenArrDest ]
do

   echo ${arrDest[$i]}


   let i++


done




=======================紺轟緥錛?for寰幆===============================



#婧愭枃浠?/span>

arrSource=("/home/800hr/htdocs/login_jump.php")



#鐩爣緗戠珯

arrDest=(ithr elehr buildhr bankhr healthr  ctvhr chenhr mechr clothr cneduhr 56hr tourhr foodhr greenhr cnlawhr waimaohr)



for outer in ${arrSource[*]}   

#${arrSource[*]} 鏄暟緇勪腑鐨勬墍鏈夊厓绱?/span>

do


   for inner in ${arrDest[*]}


   do


      echo  "ln -s $outer /home/${inner}/campus/"


   done


done



Prayer 2010-09-15 13:26 鍙戣〃璇勮
]]>
sed鐨勪竴綃囧己渚嬪瓙闆嗛敠鐨勭炕璇?杞?http://m.shnenglu.com/prayer/archive/2010/09/15/126638.htmlPrayerPrayerWed, 15 Sep 2010 03:13:00 GMThttp://m.shnenglu.com/prayer/archive/2010/09/15/126638.htmlhttp://m.shnenglu.com/prayer/comments/126638.htmlhttp://m.shnenglu.com/prayer/archive/2010/09/15/126638.html#Feedback0http://m.shnenglu.com/prayer/comments/commentRss/126638.htmlhttp://m.shnenglu.com/prayer/services/trackbacks/126638.html緲昏瘧浜嗕竴涓?
http://bbs.chinaunix.net/forum/24/20040514/325187.html

鎴戞槸鏂版墜錛岀炕璇戝緱涓嶅ソ錛屽姞娉ㄥ緱椹┈铏庤檸錛屽緢澶氬湴鏂歸兘鏄嚟鑷繁鐨勭悊瑙e啓鐨勩傜敱浜庡垰寮濮嬪sed錛屾墍浠ュ緢澶氬湴鏂瑰啓寰楀緢鍒濈駭錛屽懙鍛碉紝闅懼厤鏈変簺緗楀棪銆傚啓鍒版渶鍚庡張鏈変簺澶存檿錛岃繕璇峰ぇ铏句滑澶氬鎸囩偣錛岄噷澶村ソ鍑犱釜鍛戒護鎴戣В閲婁笉娓呮錛屽涓嶅悵璧愭暀錛屾劅嬋涓嶅敖錛?nbsp; 

FILE SPACING:
# double space a file
#浣夸竴涓枃浠朵腑姣忎竴琛岄兘鍗犵敤涓よ絀洪棿(灝辨槸鍦ㄦ瘡涓琛屽悗杈規彃涓琛岀┖琛?
sed G
###sed 涓璆鍛戒護鐨勮В閲婁負append hold space to pattern space.
###灝辨槸鍦ㄥ綋鍓嶄綅緗悗鍔犱竴琛屼繚鐣欑┖闂翠腑鐨勫唴瀹癸紝鏃犱換浣曞姩浣滄椂錛屼繚鐣欑┖闂翠負絀鴻
###鎵浠ュ氨double space a file 浜嗭紝鍛靛懙錛?
# double space a file which already has blank lines in it. Output file
# should contain no more than one blank line between lines of text.
#鍋囪嫢鏂囦歡宸茬粡鍚湁絀虹櫧琛屽湪鍏朵腑錛屼嬌涓涓枃浠朵腑姣忎竴琛屽崰鐢ㄤ袱琛?
#絀洪棿銆傝緭鍑烘枃浠朵腑鏂囨湰琛屼箣闂翠笉鍚湁瓚呰繃涓琛岀殑絀鴻
sed '/^$/d;G'
###鍏堢敤sed '/^$/d' 鏌ユ壘騫跺垹闄ょ┖琛岋紱鐒跺悗鐢?sed G鎻掑叆絀鴻
# triple space a file
#浣夸竴涓枃浠朵腑姣忎竴琛岄兘鍗犵敤涓夎絀洪棿(灝辨槸鍦ㄦ瘡涓琛屽悗杈規彃涓よ絀鴻)
sed 'G;G'
###涓嶇敤璇翠簡鍚э紝閲嶅涓ゆsed G.
# undo double-spacing (assumes even-numbered lines are always blank)
#鎾ら攢鍗犵敤涓よ絀洪棿鐨?浣?鍋囪鍋舵暟琛岄兘鏄┖鐧借)
sed 'n;d'
###sed 涓懡浠鐨勮В閲婁負Read銆the next line of input into the pattern space錛?
###鎵浠ユ垜鐞嗚В涓虹敤sed n 璇誨叆涓嬩竴琛屽叺绱ф帴鐫鐢╯ed d 鍒犻櫎錛屽鏋滈殧涓よ鍒犻櫎涓琛岄偅涔?
###鐢╯ed 'n,n,d',瑕佹槸闅?00琛屽垹闄や竴琛屽憿....浠涔???!!!浣犺鍐?00涓猲???!!!
# insert a blank line above every line which matches "regex"
#鍦ㄦ瘡涓惈鏈夊瓧絎︿覆regex鐨勮涓婃彃鍏ヤ竴琛岀┖鐧借
sed '/regex/{x;p;x;}'
###sed 涓懡浠瑙i噴涓篍xchange the contents of the hold and pattern spaces.
###鎴戠殑鐞嗚В涔熷氨鏄氦鎹繚鐣欑┖闂翠笌妯″紡絀洪棿鐨勫唴瀹?
###sed 涓懡浠涓篜rint the current pattern space錛庡氨鏄墦鍗版ā寮忕┖闂翠腑鐨勫唴瀹癸紟
###鎵浠ョ悊瑙d負淇濈暀絀洪棿涓紑濮嬩負絀鴻錛屾ā寮忕┖闂翠腑緇忚繃sed '/regex/'鏌ヨ鍚庝負鍖呭惈
###regex鍐呭鐨勯偅涓琛岋紝1)x;浜ゆ崲妯″紡絀洪棿鍜屼繚鐣欑┖闂寸殑鍐呭錛屾鏃舵ā寮忕┖闂翠腑鍐呭
###涓虹┖琛岋紝淇濈暀絀洪棿涓唴瀹逛負鍚湁regex鍐呭鐨勮錛?2)p錛涘懡浠ゆ墦鍗版ā寮忕┖闂村唴瀹?
###絀鴻)錛屽湪鍘熸枃涓惈鏈塺egex鍐呭鐨勯偅涓琛岀殑浣嶇疆鍑虹幇涓よ絀鴻錛屽叾涓悗涓琛屼負
###妯″紡絀洪棿涓殑鍐呭錛?)x;鍚庝氦鎹㈡ā寮忕┖闂村拰淇濈暀絀洪棿涓殑鍐呭錛岋紟錛庯紟錛庣粨鏋滃氨鏄湪鍘?
###鏉ュ嚭鐜皉egex鐨勪綅緗墠涓琛屽姞鍏ヤ簡涓琛岀┖琛屻?
# insert a blank line below every line which matches "regex"
# 鍦ㄦ瘡涓惈鏈夊瓧絎︿覆regex鐨勮涓嬫彃鍏ヤ竴琛岀┖鐧借
sed '/regex/G'
###姣旇緝綆鍗曪紝鏌ユ壘鍚庡湪鍚庤竟鍔犲叆涓絀鴻
# insert a blank line above and below every line which matches "regex"
#鍦ㄦ瘡涓惈鏈夊瓧絎︿覆regex鐨勮涓婏紝涓嬪悇鎻掑叆涓琛岀┖鐧借
sed '/regex/{x;p;x;G;}'
###鍏勫紵涓や釜sed '/regex/G'鍜宻ed '/regex/{x;p;x;}'鍚堜綔鐨勭粨鏋滐紟
NUMBERING:
# number each line of a file (simple left alignment) Using a tab (see
# note on '\t' at end of file)instead of space will preserve margins.
#緇欐枃浠舵瘡涓琛屽姞涓婃暟瀛楀簭鍙楓傜敤TAB鍒惰〃絎︽浛鎹㈢┖闂存潵淇濈暀絀虹櫧(?)
#(鍦ㄦ暟瀛楀簭鍙峰拰鏂囨湰涓棿鍔犱竴TAB鍒惰〃絎?
sed = filename | sed 'N;s/
/\t/'
###sed = filename鐨勫姛鑳芥槸 Print the current line number.
###浣嗘槸榪欎釜鍔熻兘鏄湪姣忎竴琛屽墠闈㈠彟鍔犱竴琛岋紝騫朵笖鏄劇ず琛屽彿,鑰屼笉鏄洿鎺ュ湪琛岄鍔犲簭鍙?
###sed涓懡浠鐨勮В閲婁負Append the next line of input into the pattern space.
###涔熷氨鏄妸褰撳墠琛屽悗涓琛岀殑鍐呭鍔犲湪褰撳墠琛屽悗杈癸紟
###sed涓懡浠/regexp/replacement/瑙i噴涓篈ttempt to match regexp against the
###pattern space. If successful, replace that portion matched with
### replacement.澶ф鎰忔濇槸鍦ㄦā寮忕┖闂村鍖歸厤regexp錛屽鏋滄垚鍔燂紝浣跨敤鍖歸厤replace
###ment鐨勫唴瀹規浛鎹egexp.璇寸櫧浜嗗氨鏄煡鎵炬浛鎹㈠惂錛?br>鏄崲琛岀,\t鏄疶AB鍒惰〃絎?
###鎵浠ユ暣涓懡浠ょ殑鎰忔濅篃灝卞嚭鏉ヤ簡錛?
# number each line of a file (nnumber on left, right-aligned)
#緇欐枃浠舵瘡涓琛屽姞涓婃暟瀛楀簭鍙?鏁板瓧鍦ㄥ乏杈癸紝鍚戝彸瀵歸綈錛?
sed = filename | sed 'N; s/^/ /; s/ *\(.\{6,\}\)
/\1 /'
### 鍓嶉潰涓嶇敤璇翠簡錛屼絾鏄悗杈?.....
###s/ *\(.\{6,\}\)
/\1 /' 榪欎釜鍦版柟紜疄涓嶆槸寰堟槑鐧?~~
# number each line of file, but only print numbers if line is not blank
#緇欐枃浠舵瘡涓琛屽姞涓婃暟瀛楀簭鍙鳳紝浣嗘槸浠呭綋琛岄潪絀烘椂鎵撳嵃鏁板瓧
sed '/./=' filename | sed '/./N; s/
/ /'
###sed '/./=' filename鐨勭敤澶勬槸鏌ユ壘闄ら潪絀鴻璧嬩簣琛屽彿,sed '/./N; s/
/ /'鏌ユ壘闈?
##絀鴻騫舵妸鍚庝竴琛岄檮鍔犲埌褰撳墠琛?鐒跺悗鐢ㄧ┖鏍兼浛鎹㈡崲琛岀

# count lines (emulates "wc -l")
#緇熻琛屾暟(綾諱技浜?"wc -l")
sed -n '$='
#sed涓弬鏁皀鐨勫惈涔夋槸suppress automatic printing of pattern space,涔熷氨鏄檺鍒?
###鑷姩鎵撳嵃妯″紡絀洪棿涓唴瀹圭殑鍔熻兘錛?'$='涓?鐨勫惈涔夋槸Match the last line錛?鍓嶈竟
###宸茬粡璇磋繃浜嗭紝灝辨槸鎵撳嵃琛屽彿錛屾墍浠ュ尮閰嶆渶鍚庝竴琛岃屼笖鍙墦鍗拌鍙蜂笉鎵撳嵃鍐呭錛屽氨鏄?
###"wc -l"浜?
TEXT CONVERSION AND SUBSTITUTION:
# IN UNIX ENVIRONMENT: convert DOS newlines (cR/LF)to Unix format
#鍦║NIX鐜涓嬶細杞崲DOS鎹㈣絎??)(cR/LF)UNIX鏍煎紡
sed 's/.$//' # assumes that all lines end with CR/LF
# 鍋囪鎵鏈夌殑琛岄兘浠R/LF緇撳熬
###鍙兘鍦―OS涓殑ASCII鐮?鍖呮嫭CR/LF)鍒頒簡UNIX涓兘鎴愪簡鍗曞瓧絎﹀惂錛屽張鍥犱負".$"浠h〃
###姣忚鏈鍚庝竴涓瓧絎︼紝鎵浠ユ妸瀹冧滑鏇挎崲鎺夊氨OK浜嗭紟CR/LF鏄暐錛烠R---ASCII Carriage
###Return(ASCII 鍥炶濺) ,LF----ASCII Linefeed (ASCII鎹㈣)
sed 's/^M$//' # in bash/tcsh, press Ctrl-V then Ctrl-M
#鍦╞ash/tcsh涓紝鎸変笅Ctrl-V鐒跺悗鎸?Ctrl-M
###娌″暐璇寸殑錛屽氨鏄煡鎵炬浛鎹紝娉ㄦ剰鍛戒護涓?^M"鍦ㄨ緭鍏ユ椂涓瀹氭槸鎸変笅Ctrl-V鐒跺悗鎸?Ctrl-M
###濡傛灉杈撳叆鎴恈trl+6閿紝鐒跺悗杈撳叆涓涓ぇ鍐橫,浠涔堟浛鎹篃瀹屾垚涓嶄簡鍟︼紟
sed 's/\x0D$//' # gsed 3.02.80, but top script is easier
# ???
###涓嶆槸寰堜簡瑙o紒楂樻墜璇翠竴涓嬪惂錛?
# IN UNIX ENVIRONMENT: convert Unix newlines (F)to DOS format
#鍦╱nix鐜涓細杞崲Unix鎹㈣絎?F)DOS鏍煎紡
sed "s/$/`echo -e \\\r`/" # command line under ksh
銆銆銆銆銆銆銆銆銆銆銆銆銆#鍦╧sh涓嬬殑鍛戒護琛?
sed 's/$'"/`echo \\\r`/" # command line under bash
銆銆銆銆銆銆銆銆銆銆銆銆 #鍦╞ash涓嬬殑鍛戒護琛?
sed "s/$/`echo \\\r`/" # command line under zsh
#鍦▃sh涓嬬殑鍛戒護琛?
sed 's/$/\r/' # gsed 3.02.80
銆銆銆銆銆銆銆# gsed3.02.80鐗堟湰涓嬬殑鍛戒護琛?
###浠ヤ笂鍥涗釜鍛戒護鏄湪涓嶅悓鐨剆hell鐗堟湰涓嬬敤\r(濂借薄灝辨槸ASCII鐮佷笅鐨凜R)鏇挎崲琛屽熬
# IN DOS ENVIRONMENT: convert Unix newlines (F)to DOS format
#鍦―OS鐜涓嬭漿鎹nix鎹㈣絎﹀埌DOS鏍煎紡
sed "s/$//" # method 1
sed -n p # method 2
###榪欏彞鍙堜笉鏄緢浜嗚В錛屾湰鏉?灝辨槸琛屽熬浜嗭紝鎶婅灝炬浛鎹㈡垚絀猴紝閭e氨鍙樻垚浜咲OS鏍煎紡浜嗗悧錛?
###涓嬭竟涓鍙ヤ篃寰堝鎬紝鍙傛暟-n鏄痵uppress automatic printing of pattern space錛屽懡
###浠鏄疨rint the current pattern space錛屼竴姝d竴鍙嶅氨鎹㈡垚DOS鏍煎紡浜嗭紵涔栦箹~~
# IN DOS ENVIRONMENT: convert DOS newlines (cR/LF)to Unix format
#鍦―os鐜涓嬶細杞崲DOS鎹㈣絎︿負UNIX鏍煎紡
# Cannot be done with DOS versions of sed. Use "tr" instead.
#鐢―OS鐗堟湰鐨剆ed涓嶈兘鍋氬埌榪欑偣錛岀敤"tr"浠f浛錛?
tr -d \r outfile # GNU tr version 1.22 or higher
銆銆銆銆銆銆銆銆銆銆銆銆銆#GNU tr 1.22鐗堟湰鎴栬呮洿楂樼増鏈?
# delete leading whitespace (spaces, tabs)from front of each line
# aligns all text flush left
#鍒犻櫎姣忎竴琛屽紑澶寸殑絀虹櫧(絀烘牸錛孴AB)宸﹀榻愭帓鍒楀叏鏂囷紟
sed 's/^[ \t]*//' # see note on '\t' at end of file
銆銆銆銆銆銆銆銆銆# ???
### 鍙堟槸鏇挎崲鎴愮┖錛宆[ \t]* 鐨勫惈涔変負浠ョ┖鏍兼垨鑰匱AB閿紑濮嬬殑(鎴栬呮槸浠栦滑鐨勭粍鍚?琛岋紟
# delete trailing whitespace (spaces, tabs)from end of each line
#浠庢瘡涓琛岀粨灝懼鍒犻櫎鏈鍚庣殑絀烘牸(絀烘牸,TAB)
sed 's/[ \t]*$//' # see note on '\t' at end of file
#??
### 璺熶笂杈圭殑鍛戒護"鍓嶅懠鍚庢嫢"鍛錛?
# delete BOTH leading and trailing whitespace from each line
#鍒犻櫎姣忎竴琛岀殑寮澶村拰緇撳熬鐨勭┖鏍?
sed 's/^[ \t]*//;s/[ \t]*$//'
###涓ゆ璧幫紟
# insert 5 blank spaces at beginning of each line (ake page offset)
#鍦ㄦ瘡涓琛屽紑濮嬪鎻掑叆5涓┖鏍?鏁撮〉鍋忕Щ)
sed 's/^/ /'
###娌″暐璇寸殑錛?
# align all text flush right on a 79-column width
#鍙沖榻愶紝鎸?9鍒楀鎺掑垪鎵鏈夋枃鏈?
sed -e :a -e 's/^.\{1,78\}$/ &/;ta' # set at 78 plus 1 space
###榪欎釜璇彞濂藉儚寰堥夯鐑︼紝涓嶈繃鐪嬫噦浜嗚繕鎸烘湁鎰忔濓紟錛氾級
###棣栧厛鍑虹幇浜嗗嚑涓柊涓滀笢1.":" 2."&". 3. "-e " 4."t"錛岃В閲婁竴涓?
###1.":" Label for b and t commands.(緇檅鍜宼鍛戒護鍔犳敞鏍囩)
###2."&"銆琛ㄧず閲嶅鏁翠釜鍖歸厤鐨勮鍒欒〃杈懼紡錛?
###3. "-e" add the script to the commands to be executed
### 鎶婅剼鏈姞鍒板懡浠ら噷鐢ㄤ互鎵ц
###4. t label If a s/// has done a successful substitution since the last
###input line was read and since the last t or T command, then branch to
###label; if label is omitted, branch to end of script.
###濡傛灉浠庤鍏ユ渶鍚庝竴涓緭鍏ヨ騫朵笖鎵ц鏈鍚庝竴涓猼鎴栬匱鍛戒護鍚庯紝涓涓猻///鍛戒護鎴愬姛鏇挎崲錛?
###閭d箞嫻佺▼鍒嗘敮鎸囧悜label澶勶紝濡傛灉label琚拷鐣?灝辨槸娌℃湁鎴愬姛鏇挎崲鍚э紝鎴戞兂),閭d箞嫻佺▼
###鍒嗘敮鎸囧悜鑴氭湰緇撴潫錛?
###鍥炶繃澶存潵鐪嬶紝鏁翠釜sed鍛戒護琛屾槸涓涓驚鐜墽琛岀殑璇彞錛屾瘡涓琛岄兘瑕佹浛鎹?78-褰撳墠琛岀殑瀛?
###絎︽暟)嬈?鎵浠ュ鏋滄暣涓枃浠舵瘮杈冨ぇ錛屾垨鑰呬竴琛屽瓧絎︽暟姣旇緝灝戯紝鍋氳繖涓姩浣滃氨鏈夌偣鍚冨姏浜嗭紟
###涓嶄俊浣犺瘯璇曞惂錛屽懙鍛碉紟
# center all text in the middle of 79-column width. In method 1,
# spaces at the beginning of the line are significant, and trailing
# spaces are appended at the end of the line. In method 2, spaces at
# the beginning of the line are discarded in centering the line, and
# no trailing spaces appear at the end of lines.
#浣挎墍鏈夋枃鏈眳浜?9鍒楀鐨勬牸寮忎腑澶傚湪絎竴縐嶆柟娉曚腑錛屾瘡涓琛屽紑澶村鐨勭┖鏍兼槸
#寰堥噸瑕佺殑錛屾渶鍚庣殑絀烘牸琚檮鍦ㄨ灝俱傜浜岀鏂規硶涓紝涓琛屽紑澶寸殑絀烘牸鍦ㄤ腑蹇冨
#榻愮殑琛屼腑琚涪寮冿紝琛屽熬涔熸病鏈夊師鏉ョ粨灝懼鐨勭┖鏍箋?
sed -e :a -e 's/^.\{1,77\}$/ & /;ta' # method 1
sed -e :a -e 's/^.\{1,77\}$/ &/;ta' -e 's/\(*\)1/\1/' # method 2
###璺熶笂杈圭殑宸笉澶?褰撲袱杈歸兘鍔犵┖鏍肩殑鏃跺欙紝鏁堢巼瑕侀珮涓浜泘~
# substitute (ind and replace)"foo" with "bar" on each line
#鍦ㄦ瘡涓琛屼腑鐢?bar"鏇挎崲(鎵懼茍鏇挎崲)foo"
sed 's/foo/bar/' # replaces only 1st instance in a line
# 鍦ㄤ竴琛屼腑錛屼粎鍦ㄧ涓嬈″嚭鐜版椂鏇挎崲
sed 's/foo/bar/4' # replaces only 4th instance in a line
#鍦ㄤ竴琛屼腑錛屼粎鍦ㄧ鍥涙鍑虹幇鏃舵浛鎹?
sed 's/foo/bar/g' # replaces ALL instances in a line
#鍦ㄤ竴琛屼腑鏇挎崲鎵鏈夊嚭鐜扮殑鍊?
###榪欎笁涓懡浠ゅ緢綆鍗?涓嶅璇翠簡.
sed 's/\(.*\)foo\(.*foo\)/\1bar\2/' # replace the next-to-last case
#鏇挎崲绱ч偦鏈鍚庝竴涓尮閰嶅嚭鐜扮殑鍊?
###'s///---- The replacement may contain the special character & to refer to that
###portion of the pattern space which matched, and the special escapes \1
### through \9 to refer to the corresponding matching sub-expressions in the regexp.
###灝變笉鐩存帴緲昏瘧浜嗭紝澶ф鎰忔濆氨鏄痳eplacement澶勫彲浠ュ寘鍚?amp;浠h〃鍖歸厤鐨勬ā寮忕┖闂翠腑
###鐨勯儴鍒?鐗規畩鐨刓1-\9鍙互浠h〃regexp涓浉搴旂殑"瀛愯〃杈懼紡",涔熷氨鏄鍓嶉潰regexp
###鍙互鍒嗕負鍑犱釜瀛愯〃杈懼紡,鑰屽悗杈箁eplacement涓彲浠ョ敤\1-\9鍒嗗埆浠h〃瀹冧滑.榪欐牱灝?
###澧炲姞浜嗙伒媧繪э紝渚夸簬淇敼sed鍛戒護.
###鎶妑egexp涓殑\鍘繪帀鍚庯紝灝卞彉鎴?.*)foo(*foo),鍏朵腑(.*)琛ㄧず闆朵釜鎴栬呭涓瓧絎︼紝
###榪欐牱鍔犱笂鍚庤竟鐨刓1bar\2灝卞彉鎴愪簡鏀瑰彉鍊掓暟絎簩涓猣oo,鑰屽掓暟絎竴涓笉鍙?
sed 's/\(*\)foo/\1bar/' # replace only the last case
#鍙浛鎹㈡渶鍚庝竴涓?
###姣斾笂涓涓畝鍗?
# substitute "foo" with "bar" ONLY for lines which contain "baz"
#鍦ㄦ瘡涓鍚湁"baz"鐨勮涓敤"bar"鏇挎崲(鏌ユ壘騫舵浛鎹?foo"
sed '/baz/s/foo/bar/g'
### /baz/鐢ㄦ潵鏌ユ壘錛屽悗杈圭殑鐢ㄦ潵鏇挎崲
# substitute "foo" with "bar" EXCEPT for lines which contain "baz"
#鍦ㄦ瘡涓涓嶅惈鏈?baz"鐨勮涓敤"bar"鏇挎崲(鎵懼茍鏇挎崲)foo"
sed '/baz/!s/foo/bar/g'
###鍙嶅叾閬撹岃涔嬶紟
# change "scarlet" or "ruby" or "puce" to "red"
#灝?scarlet"鎴栬?ruby"鎴栬?puce"鏇挎崲鎴?red"
sed 's/scarlet/red/g;s/ruby/red/g;s/puce/red/g' # most seds
#澶у鏁皊ed鍙敤
###涓夋璧幫紟
gsed 's/scarlet\|ruby\|puce/red/g' # GNU sed only
#浠匞NU sed鍙敤
# reverse order of lines (emulates "tac")
#鍙嶈漿鏂囩珷琛岀殑欏哄簭(綾諱技"tac" )
# bug/feature in HHsed v1.5 causes blank lines to be deleted
#???????
sed '1!G;h;$!d' # method 1
###
###棣栧厛鐪嬬涓涓懡浠?!G錛岃繖涓槸鍟ユ剰鎬?"!"琛ㄧず鍚庤竟鐨勫懡浠ゅ鎵鏈夋病鏈?
###琚夊畾鐨勮鍙戠敓浣滅敤錛孏鍛紵鑾峰緱淇濈暀絀洪棿(涓撲笟鍚嶈瘝鍙唴瀛樼紦鍐插尯?)涓?
###鐨勫唴瀹癸紝騫惰拷鍔犲埌褰撳墠妯″紡絀洪棿鐨勫悗闈?1灝辨槸閫夊畾絎竴琛?h鐨勫惈涔夋槸鎷瘋礉
###妯″紡絀洪棿鍐呭鍒頒繚鐣欑┖闂?鍐呭瓨緙撳啿鍖?銆傞偅涔堝厛鐪?sed '1!G'浠涔堝惈涔?
###鎵ц涓涓嬭繖涓懡浠わ紝鍋囪嫢鏂囦歡鏄?
### $ cat test.txt
### 1
### 2
### 3
### 4
###閭d箞 sed '1!G' test.txt鐨勭粨鏋滄槸
### $ sed '1!G' test.txt
### 1
### 2
###
### 3
###
### 4
###
### $
### 涔熷氨鏄闄や簡絎竴琛?鍚庤竟姣忚閮藉姞浜嗙┖琛?榪欐槸鍥犱負鍐呭瓨緙撳啿鍖轟腑榛樿鍊?
###鏄┖琛屽惂銆傜劧鍚庢垜浠姞涓奾,鐪嬬湅鍙戠敓浠涔?
### $ sed '1!G;h' test.txt
### 1
### 2
### 1
### 3
### 2
### 1
### 4
### 3
### 2
### 1
### $
### 絀鴻娌′簡錛屽拫鍥炰簨?鎴戞槸榪欐牱鐞嗚В鐨勶紝涓嶇煡閬撳涓嶅錛屽ぇ瀹跺府鍔╃湅鐪嬶細錛?
###棣栧厛瑕佺‘瀹氾紝鎵ц鍒版瘡涓琛岋紝sed鎶婂綋鍓嶅鐞嗙殑琛屽瓨鍦ㄤ復鏃剁殑緙撳啿鍖哄唴錛?
###縐頒負妯″紡絀洪棿(pattern space).涓鏃ed瀹屾垚瀵規ā寮忕┖闂翠腑琛岀殑澶勭悊錛屾ā寮?
###絀洪棿涓殑琛屽氨琚佸線灞忓箷錛庤琚鐞嗗畬鎴愬悗錛屽氨琚Щ鍑烘ā寮忕┖闂達紟錛庯紟
###
###鍛戒護鎵ц絎竴琛屾椂錛岀敱浜庡尮閰嶄簡絎竴琛岋紝鎵浠?!G"涓嶈搗浣滅敤錛屽彧鎵撳嵃浜?
###絎竴琛岀殑鍐呭錛岀劧鍚?h"鎶婃ā鐗堝潡涓殑鍐呭涔熷氨鏄涓琛岀殑鍐呭鎷瘋礉榪涚紦鍐插尯錛?
###娉ㄦ剰姝ゆ椂鏄敤絎竴琛岀殑鍐呭鏇挎崲絀鴻.妯″紡絀洪棿涓殑鍐呭瑕佹墦鍗幫紝鎵浠ュ嚭鐜?.
###鎵ц鍒扮浜岃鏃訛紝鎵撳嵃絎簩琛屽唴瀹癸紝鑰屼笖鐢變簬涓嶅尮閰?1",鎵浠ュ湪鍚庤竟"G"鍛戒護璧?
###浣滅敤,鑾峰緱浜嗙紦鍐插尯涓殑絎竴琛岀殑鍐呭錛岀劧鍚庡姞鍒板綋鍓嶆ā寮忕┖闂翠腑錛屽茍鎵撳嵃,鍑虹幇
###21銆傜劧鍚庢妸妯″紡絀洪棿涓殑鍐呭鍐欏叆緙撳啿鍖猴紝涔熷氨鏄妸21鍐欏叆緙撳啿鍖恒傛墽琛屽埌絎笁琛?
###鍖歸厤涓嶆垚鍔?鎵浠ョ紦鍐插尯鐨勫唴瀹瑰簲璇ユ槸絎簩琛岀殑鍐呭鍔犱笂絎竴琛岀殑鍐呭錛岃拷鍔犲埌妯?
###寮忕┖闂寸殑絎笁琛屽悗杈癸細321.鐒跺悗鎶?21鎷瘋礉鍒扮紦鍐插尯錛岋紟錛庯紟浠ユ綾繪帹灝卞嚭鐜頒簡涓?
###闈㈢殑緇撴灉.
###鎴戜笉鐭ラ亾榪欎箞瑙i噴瀵逛笉瀵癸紝浣嗘槸褰撴垜鎶婂懡浠や腑鐨?鎹㈡垚2錛?錛?鍚庢墽琛岋紝寰楀埌浜嗘垜
###鎯寵薄鐨勭粨鏋溿傝繕璇烽珮鎵嬫寚鐐箏~
###鍔犱笂鏈鍚庝竴鍙?$!d",閭e氨鏄墠闈笁琛岀殑緇撴灉鍒犻櫎錛屼繚鐣欐渶鍚庝竴琛屻傝繖鏍峰氨褰㈡垚浜?
### tac鐨勬晥鏋滃暒銆?
sed -n '1!G;h;$p' # method 2
###涓庝笂杈圭被浼肩殑錛屼笉緗楀棪!
# reverse each character on the line (emulates "rev")
#鍙嶈漿涓琛屼腑姣忎釜瀛楃鐨勯『搴?綾諱技"rev")
sed '/
/!G;s/\(.\)\(.*
\)/&\2\1/;//D;s/.//'
###榪欎釜鍛戒護鐪熸槸.....
###鎴戞槸鍦ㄨВ閲婁笉閫?鎵浠ユ寜鐓ф垜鐨勬兂娉曟潵璇翠竴涓嬪惂,瀹屽叏鏄瀻璇?
###'/
/!G'鏄垽鏂湰琛屾槸鍚︽湁鎹㈣絎?濡傛灉娌℃湁鎵цG鍛戒護
###'s/\(.\)\(.*
\)/&\2\1/'鍛戒護鏄湪鍘熸潵琛?絎簩涓瓧絎?鎴栬呮病鏈?寮濮嬪埌鎹㈣絎?絎竴涓瓧絎?
###//D鍛戒護鏄湪妯″紡絀洪棿鍒犻櫎絎竴琛?娉ㄦ剰鎵ц瀹屾垚鍚庡鏋滄ā寮忕┖闂翠笉涓虹┖錛岀戶緇笅涓涓?
###寰幆鎵ц.
###s/.//鍛戒護鏄垹闄ょ涓涓瓧絎?
###鍋囪涓琛屾枃瀛楁槸 123

###閭d箞鎵ц鍚庢ā寮忕┖闂翠腑鐨勫唴瀹瑰簲璇ユ寜涓嬭竟鐨勯『搴忓彉鍖?
### 123

### 123
23
1
### 23
1
### 23
13
21
### 13
21
### 3
21
### 3
21
321
###
321
### 321
### 鎴戠殑鐤戦棶灝辨槸,涓轟粈涔堢涓嬈℃病鏈夋墽琛宻/.//?!濡傛灉鎵ц浜?閭d箞灝卞緱涓嶅埌緇撴灉浜嗗晩!
### 鏁憕~~~鍛絶~~鍟婏紒????????????????????????????????
# join pairs of lines side-by-side (like "paste")
#鎶婁袱琛屽悎涓轟竴琛?綾諱技浜?paste")
sed '$!N;s/
/ /'
###榪欎釜鍛戒護鏀規垚 sed 'N;s/
/ /'涓鏍峰彲浠ヨ揪鍒扮洰鐨勶紝涓嶇煡鍓嶉潰
###鐨?!鏈変粈涔堢敤澶?..
# if a line ends with a backslash, append the next line to it
#濡傛灉涓琛屼互"\"緇撴潫錛屾妸涓嬩竴琛屽姞鍦ㄦ琛屼笂
sed -e :a -e '/\\$/N; s/\\
//; ta'
###寰幆%浣滐紝涓ゆ鏇挎崲銆?
# if a line begins with an equal sign, append it to the previous line
# and replace the "=" with a single space
#濡傛灉涓絳夊彿寮濮嬫煇涓琛岋紝鎶婅繖涓琛屽姞鍒板墠涓琛屽悗杈癸紝騫朵笖鐢ㄤ竴涓┖鏍兼浛鎹㈢瓑鍙?
sed -e :a -e '$!N;s/
=/ /;ta' -e 'P;D'
###鍜屼笂杈瑰樊涓嶅錛岃娉ㄦ剰涓や釜鏂扮殑鍛戒護:
### P鍛戒護--Print up to the first embedded newline of the current
###pattern space.鎵撳嵃褰撳墠妯″紡絀洪棿涓涓琛屻?
###D鍛戒護--Delete up to the first embedded newline in
### the pattern space. Start next cycle, but skip reading from
###the input if there is still data in the pattern space.
###鍒犻櫎褰撳墠妯″紡絀洪棿涓涓琛屻傚紑濮嬫柊鐨勫驚鐜紝浣嗘槸濡傛灉鍦ㄦā寮忕┖闂翠腑浠嶇劧
###鏈夋暟鎹紝閭d箞璺寵繃璇誨彇杈撳叆銆?
# add commas to numeric strings, changing "1234567" to "1,234,567"
#緇欐暟瀛椾覆鍔犻楀彿錛屾妸"1234567"鍙樹負"1,234,567"
gsed ':a;s/\B[0-9]\{3\}\>/,&/;ta' # GNU sed
sed -e :a -e 's/\(.*[0-9]\)\([0-9]\{3\}\)/\1,\2/;ta' # other seds
###(.*[0-9])琛ㄧず闆朵釜鎴栬呭涓瓧絎?鍙兘鍖呭惈鏁板瓧)+涓涓暟瀛?鑰?
###([0-9]{3})琛ㄧず涓変釜鏁板瓧,鐒跺悗涓嶅仠鐨勬浛鎹?鐩村埌鏉′歡涓嶆垚绔?涔熷氨鏄病鏈?
###鍥涗釜浠ヤ笂榪炵畫鐨勬暟瀛楀嚭鐜板氨鍋滄浜?
# add commas to numbers with decimal points and minus signs (NU sed)
#緇欏甫鏈夊皬鏁扮偣鍜岃礋鍙風殑鏁板瓧鐨勬暟瀛楀姞涓婇楀彿
gsed ':a;s/\(^\|[^0-9.]\)\([0-9]\+\)\([0-9]\{3\}\)/\1\2,\3/g;ta'
###娌℃湁gsed錛屼笉瑙i噴浜?
# add a blank line every 5 lines (after lines 5, 10, 15, 20, etc.)
#姣忎簲琛屽悗鍔犱竴絀鴻
gsed '0~5G' # GNU sed only
sed 'n;n;n;n;G;' # other seds
###涓澶ф棭灝辮榪囦簡鐨?..
SELECTIVE PRINTING OF CERTAIN LINES:
# print first 10 lines of file (emulates behavior of "head")
#鎵撳嵃涓涓枃浠剁殑鍓?0琛?妯′豢鍔ㄤ綔"head")
sed 10q
# print first line of file (emulates "head -1")
#鎵撳嵃涓涓枃浠剁殑絎竴琛?浠?head -1")
sed q
### q鍛戒護鐨勮В閲奍mmediately quit the sed script without processing
###any more input, except that if auto-print is not disabled the
###current pattern space will be printed.
### 鎵浠ヤ笂杈逛袱涓懡浠ら兘娓呮浜嗭紝鎵ц鍒扮10琛岄鍑哄氨鎵撳嵃鍓?0琛岋紝鎵ц絎竴琛?
###灝遍鍑哄氨鎵撳嵃絎竴琛?
# print the last 10 lines of a file (emulates "tail")
#鎵撳嵃涓涓枃浠剁殑鍚?0琛?浠?tail")
sed -e :a -e '$q;N;11,$D;ba'
###Label b : Branch to label; if label is omitted, branch to end of script.
###鍛戒護D 鍒犻櫎妯″紡絀洪棿鍐呯涓涓?newline 瀛楁瘝
鍓嶇殑璧勬枡銆?
###鍛戒護N 鎶婅緭鍏ョ殑涓嬩竴琛屾坊鍔犲埌妯″紡絀洪棿涓?
### b label:鍒嗘敮鍒拌剼鏈腑甯︽湁鏍囧彿鐨勫湴鏂癸紝濡傛灉鏍囧彿涓嶅瓨灝卞垎鏀埌鑴氭湰鐨勬湯灝?
###
waker 鍐欏埌:
璇曠潃娉ㄤ竴涓嬶紝涓嶇煡閬撳涓嶅
濡傛灉鎴戜滑鍙湅sed -e :a -e '$q;N;ba'
榪欎釜寰幆涓嶅仠鐨勮鍏ヤ笅 涓琛岀洿鍒扮粨灝撅紝榪欐牱鏁翠釜鏂囨湰灝卞艦鎴愪竴涓敱
鍒嗗壊鐨勯摼
鐜板湪鍔犱笂11,$D
sed -e :a -e '$q;N;11,$D;ba'
濡傛灉鏂囨湰涓嶈秴榪?0琛?
妯″紡絀洪棿灝嗕繚鐣欐暣涓枃鏈墦鍗板嚭鏉?
濡傛灉鏂囨湰澶т簬10琛?
浠庣11琛屽紑濮嬶紝鍦ㄤ笅涓琛屽姞鍏ュ埌閾句腑鍚庯紝妯″紡絀洪棿絎竴涓敱
鍒嗗壊鐨勮褰曞皢琚垹闄わ紝榪欐牱鐪嬭搗鏉ュ氨鏄摼澶磋閾懼熬鎸ゅ嚭鏁翠釜閾撅紝鎬繪槸淇濇寔10涓摼鐜紝寰幆緇撴潫鍚庯紝閾句腑淇濆瓨鐨勫氨鏄枃浠剁殑鍚?0琛?鏈鍚庡嵃鍑虹粨鏋?

# print the last 2 lines of a file (emulates "tail -2")
#鎵撳嵃涓涓枃浠剁殑鏈鍚庝袱琛?浠?tail -2")
sed '$!N;$!D'
### 寮濮嬬湅涓嶅お鎳傦紝鎶勪簡CU綺懼崕涓孌?
###sed '$!N;$!D' : 瀵規枃浠跺掓暟絎簩琛屼互鍓嶇殑琛屾潵璇達紝N 灝嗗綋鍓嶈鐨勪笅涓琛屾斁鍒版ā
###寮忕┖闂翠腑浠ュ悗錛孌 灝卞皢妯″紡絀洪棿鐨勫唴瀹瑰垹闄や簡錛涘埌鍊掓暟絎簩琛岀殑鏃跺欙紝灝嗘渶鍚庝竴琛?
###闄勫姞鍒板掓暟絎簩琛屼笅闈紝鐒跺悗鏈鍚庝竴琛屼笉鎵ц D 錛屾墍浠ユ枃浠剁殑鏈鍚庝袱琛岄兘淇濆瓨涓嬫潵浜嗐?
###涓嶇煡閬撴槸榪欐璇濊寰楁湁浜涘惈緋婏紝榪樻槸鎴戠悊瑙e緱鏈夊亸宸紝鎬昏寰桪鍛戒護瑙i噴鎴?
###"灝嗘ā寮忕┖闂寸殑鍐呭鍒犻櫎浜?鏈変簺璁╀漢緋婃秱.
###鑰屾垜鏄繖鏍風悊瑙g殑錛屼笉鐭ラ亾瀵逛笉瀵?棣栧厛璇碊鍛戒護鏄?Delete up to the first
###embedded newline in the pattern space.涔熷氨鏄D鍛戒護鏄垹闄ゆā寮忕┖闂翠腑
###絎竴涓崲琛岀涔嬪墠鐨勫唴瀹癸紝涔熷氨鏄垹闄ょ涓琛?鐒跺悗D鍛戒護鐨勮В閲婅繕鏈変竴鍙?鎴戣涓?
###榪欏彞寰堥噸瑕? Start next cycle, but skip reading from the input if there
### is still data in the pattern space.寮濮嬩笅涓涓驚鐜紝浣嗘槸濡傛灉妯″紡絀洪棿涓湁
###鏁版嵁錛屽垯璺寵繃浠庤緭鍏ヤ腑璇誨彇鏁版嵁.
###鍏蜂綋鎬庝箞宸ヤ綔鍛? 鍋囪鏂囦歡涓?
### $ cat test.txt
### 1
### 2
### 3
### 4
### 5
### 閭d箞褰撴墽琛岀涓琛屾椂,$!N鎶婄浜岃鍔犲叆鍒版ā寮忕┖闂翠腑絎竴琛屽悗杈?鐒跺悗$!D鎶婄涓琛?
###鍐呭鍒犻櫎錛屾ā寮忕┖闂翠腑鍙墿涓嬬浜岃鐨勫唴瀹?娉ㄦ剰,姝ゆ椂鐢變簬D鍛戒護寮濮嬩笅涓涓驚鐜紝
###鎵浠ヤ笉鎵撳嵃妯″紡絀洪棿涓殑鍐呭! (榪欎釜鍦版柟涔熸槸鎴戞兂浜嗗崐澶╂墠榪欎箞瑙i噴鐨勶紝鎴戜篃鐭ラ亾
###寰堝彲鑳戒笉瀵癸紝嬈㈣繋鎷嶇爾錛屽懙鍛?鐢變簬D鍛戒護瑕佹眰妯″紡絀洪棿涓湁鏁版嵁鐨勮瘽灝辮煩榪囪鍙栦笅涓琛岋紝
###鎵浠ョ戶緇笅涓涓驚鐜張鍒頒簡$!N錛屾鏃惰鍏ョ涓夎鍔犲埌絎簩琛屽悗杈癸紝....浠ユ綾繪帹銆?
###鎵ц鍒拌鍏ョ5琛岄檮鍔犲湪絎洓琛屽悗杈癸紝鐒跺悗鐢變簬$!D寰椾笉鍒版墽琛岋紝鎵浠ョ4琛屽拰絎?琛?
###閮借淇濈暀錛屽懡浠ょ粨鏉燂紝鎵撳嵃妯″紡絀洪棿...
# print the last line of a file (emulates "tail -1")
#鎵撳嵃涓涓枃浠剁殑鏈鍚庝竴琛?浠?tail -1")
sed '$!d' # method 1
sed -n '$p' # method 2
###鍝堝搱錛岀粓浜庣湅鎳備簡涓涓紝浣犱篃鐪嬫噦浜嗗惂銆錛氾級
# print only lines which match regular expression (emulates "grep")
#鍙墦鍗板尮閰嶇殑涓瀹氬瓧絎︾殑琛?浠?grep")
sed -n '/regexp/p' # method 1
sed '/regexp/!d' # method 2
###鏄庣櫧鍙傛暟-n鍜屽懡浠鍜宒灝辨槑鐧借繖涓や釜鍛戒護錛?
# print only lines which do NOT match regexp (emulates "grep -v")
#鍙墦鍗頒簬涓瀹氬瓧絎︿笉鍖歸厤鐨勮(鏁?grep -v")
sed -n '/regexp/!p' # method 1, corresponds to above
sed '/regexp/d' # method 2, simpler syntax
###鍜屼笂杈圭浉鍙嶏紝姝e娉ㄩ噴鎵璇達紟
# print the line immediately before a regexp, but not the line
# containing the regexp
#鎵撳嵃鍖呭惈"regexp"閭d竴琛岀殑涓婁竴琛?浣嗘槸涓嶆墦鍗板寘鍚?regexp"鐨勮.
sed -n '/regexp/{g;1!p;};h'
###鍦ㄥ懡浠ゆ墽琛屽埌鍖呭惈"regexp"閭d竴琛岀殑涓婁竴琛屾椂,妯″紡絀洪棿涓繖琛岀殑鍐呭琚?
###鎷瘋礉鍒頒繚鐣欑┖闂翠腑錛庢墽琛屽埌鍖呭惈"regexp"閭d竴琛屾椂灝辨墦鍗板畠浜?
# print the line immediately after a regexp, but not the line
# containing the regexp
#鎵撳嵃鍦?regexp"涔嬪悗绱ц窡閭d竴琛岋紝浣嗘槸闄ゅ幓鍖呭惈"regexp"鐨勮.
sed -n '/regexp/{n;p;}'
###涓庝笂杈圭被浼鹼紝姣斾笂杈圭畝鍗曪紟
# print 1 line of context before and after regexp, with line number
# indicating where the regexp occurred (imilar to "grep -A1 -B1")
#鍦?regexp"鍓嶅悗鎵撳嵃涓琛屼笂涓嬫枃錛屼嬌鍏惰鍙鋒寚紺?regexp"鍦ㄥ摢閲屽嚭鐜?
#grep -A1 -B1鐩鎬技)
sed -n -e '/regexp/{=;x;1!p;g;$!N;p;D;}' -e h
###鐪嬩笂鍘誨ソ鍍忔尯澶嶆潅錛屽叾瀹炲掓槸涓嶉毦瑙i噴錛?
###鍋囪鏂囨。鏄繖鏍?
###$ cat test.txt
### 1 abc
### 2 cde
### 3 regexp
### 4 fgh
### 5 xyz
###鍛戒護鎵ц鍒皉egexp鍓嶄竴琛岋紝寮曞彿閲岃竟鐨勫懡浠や笉鎵ц,鍙墽琛宧鍛戒護寰楀埌緇撴灉
### command parttern space holdspace output
### 鎵ц鍒板墠涓琛?2cde 2cde
### 鎵ц鍒皉egexp琛?"=" 3regexp 3
### "x" 2cde 3regexp
### "1!p" 2cde 3regexp 2cde
### "g" 3regexp 3regexp
### "$N" 3regexp  4fgh 3regexp
### "p" 3regexp  4fgh 3regexp 3regexp
### 4fgh
### "D" 4fgh 3regexp
### "h" 4fgh 4fgh
###
### 鐪嬩竴涓嬫渶鍙寵竟鐨勮緭鍑虹粨鏋滐紝榪樹笉閿欏惂錛?
# grep for AAA and BBB and CCC (n any order)
#鏌ユ壘"AAA"鍜?BBB"鍜?CCC".(浠繪剰欏哄簭)
sed '/AAA/!d; /BBB/!d; /CCC/!d'
# grep for AAA and BBB and CCC (n that order)
# 鏌ユ壘"AAA"鍜?BBB"鍜?CCC".(涓瀹氶『搴?
sed '/AAA.*BBB.*CCC/!d'
# grep for AAA or BBB or CCC (emulates "egrep")
#鏌ユ壘"AAA"鎴?BBB"鎴?CCC".(浠繪剰欏哄簭)
sed -e '/AAA/b' -e '/BBB/b' -e '/CCC/b' -e d # most seds
gsed '/AAA\|BBB\|CCC/!d' # GNU sed only
###涓婅竟涓変釜娌′粈涔堣鐨勶紝灝辨槸鏌ユ壘鍔熻兘鍛楋紟
# print paragraph if it contains AAA (blank lines separate paragraphs)
# HHsed v1.5 must insert a 'G;' after 'x;' in the next 3 scripts below
#濡傛灉鏌愭鍖呭惈"AAA",鍒欐墦鍗拌繖涓孌點?絀鴻鐢ㄦ潵鍒嗛殧孌佃惤)
#HHsed v1.5蹇呴』鍦?x;'涔嬪悗鎻掑叆涓涓?G;'
sed -e '/./{H;$!d;}' -e 'x;/AAA/!d;'
###鍓嶈竟涓閮ㄥ垎鍛戒護鐢ㄤ繚鐣欑┖闂存潵瀛樺偍鏁翠釜孌佃惤鍐呭錛屽悗杈逛竴涓懡浠ょ敤鏉ユ煡鎵?
# print paragraph if it contains AAA and BBB and CCC (n any order)
#濡傛灉鏌愭鍖呭惈"AAA"鍜?BBB"鍜?CCC",鍒欐墦鍗拌繖涓孌?
sed -e '/./{H;$!d;}' -e 'x;/AAA/!d;/BBB/!d;/CCC/!d'
###鍚屼笂
# print paragraph if it contains AAA or BBB or CCC
# 濡傛灉鏌愭鍖呭惈"AAA"鎴?BBB"鎴?CCC",鍒欐墦鍗拌繖涓孌?
sed -e '/./{H;$!d;}' -e 'x;/AAA/b' -e '/BBB/b' -e '/CCC/b' -e d
gsed '/./{H;$!d;};x;/AAA\|BBB\|CCC/b;d' # GNU sed only
###鍚屼笂
# print only lines of 65 characters or longer
#浠呮墦鍗伴暱浜?5涓瓧絎︾殑琛?
sed -n '/^.\{65\}/p'
###榪欎篃娌′粈涔堝ソ璇寸殑錛屾鍒欒〃杈懼紡鐨勮繍鐢紟
# print only lines of less than 65 characters
#浠呮墦鍗板皯浜?5涓瓧絎︾殑琛?
sed -n '/^.\{65\}/!p' # method 1, corresponds to above
sed '/^.\{65\}/d' # method 2, simpler syntax
###鍙堟病鍟ュ惂
# print section of file from regular expression to end of file
#鎵撳嵃浠庡瓧絎?regexp"寮濮嬪埌鏂囦歡緇撴潫鐨勯儴鍒?
sed -n '/regexp/,$p'
###榪樻病鍟ワ紝娉ㄦ剰","鐨勪綔鐢ㄦ槸閫夋嫨琛岀殑鑼冨洿錛屼粠鍖呭惈regexp鐨勮鍒版渶鍚庝竴琛?
# print section of file based on line numbers (ines 8-12, inclusive)
#鏍規嵁琛屽彿鏉ユ墦鍗版枃浠剁殑涓閮ㄥ垎(-12琛岋紝鍖呮嫭鍦ㄥ唴)
sed -n '8,12p' # method 1
sed '8,12!d' # method 2
# print line number 52
#鎵撳嵃絎?2琛?
sed -n '52p' # method 1
sed '52!d' # method 2
sed '52q;d' # method 3, efficient on large files
###浠呮敞鎰忕涓夌鏂規硶鏁堢巼姣旇緝楂樺氨琛屼簡
# beginning at line 3, print every 7th line
#浠庣涓夎寮濮嬶紝姣?琛屾墦鍗頒竴琛?
gsed -n '3~7p' # GNU sed only
sed -n '3,${p;n;n;n;n;n;n;}' # other seds
###濂藉儚寰堝鏄撶悊瑙d簡鍚?
# print section of file between two regular expressions (nclusive)
#鎵撳嵃鏂囦歡涓寚瀹氬瓧絎︿箣闂寸殑閮ㄥ垎(鍚瓧絎﹀湪鍐?
sed -n '/Iowa/,/Montana/p' # case sensitive
###鐜板湪綆鍗曚簡鍚э紟錛氾級
SELECTIVE DELETION OF CERTAIN LINES:
# print all of file EXCEPT section between 2 regular expressions
#鎵撳嵃闄ゆ寚瀹氬瓧絎︿箣闂撮儴鍒嗕箣澶栫殑鍏ㄦ枃
sed '/Iowa/,/Montana/d'
###涓庝笂杈圭浉浼肩殑綆鍗?
# delete duplicate, consecutive lines from a file (emulates "uniq")
# First line in a set of duplicate lines is kept, rest are deleted.
#鍒犻櫎鏂囦歡涓噸澶嶇殑榪炵畫鐨勮(浼間簬"uniq"鍛戒護)
#閲嶅琛屼腑絎竴琛屼繚鐣欙紝鍏朵粬鍒犻櫎
sed '$!N; /^\(.*\)
\1$/!P; D' 銆
###濡傛灉涓嶆槸鏈鍚庝竴琛岋紝灝辨妸涓嬩竴琛岄檮鍔犲湪妯″紡絀洪棿錛岀劧鍚庤繘琛屾煡鎵?浣?
###"^"鍜?$"涓棿鐨勫唴瀹瑰鏋滄湁閲嶅灝卞尮閰嶆垚鍔燂紟濡傛灉鍖歸厤涓嶆垚鍔熷氨鐢≒鎵撳嵃
###絎竴琛岋紟銆鐒跺悗鍒犻櫎絎竴琛岋紟
# delete duplicate, nonconsecutive lines from a file. Beware not to
# overflow the buffer size of the hold space, or else use GNU sed.
#鍒犻櫎鏂囦歡涓噸澶嶇殑錛屼絾涓嶈繛緇殑琛屻傛敞鎰忎笉瑕佹孩鍑轟繚鐣欑┖闂寸殑緙撳啿鍣ㄧ殑澶у皬錛?
#鍚﹀垯浣跨敤GNU sed.
sed -n 'G; s/
/&&/; /^\([ -~]*
\).*
\1/d; s/
//; h; P'
###鍦ㄦ垜鐨刲inux鐜鎵ц涓嶄簡錛屽嚭閿欐槸sed: -e expression #1, char 34:
###Invalid range end.鏄笉鏄墍璋撶殑婧㈠嚭淇濈暀絀洪棿鐨勫ぇ灝忎簡鍛紵鎴戜篃涓嶅緱鑰岀煡錛?
###澶у琛ュ厖鍚э紟!!?????????????????
# delete the first 10 lines of a file
#鍒犻櫎涓涓枃浠朵腑鍓?0琛?
sed '1,10d'
# delete the last line of a file
#鍒犻櫎涓涓枃浠朵腑鏈鍚?琛?
sed '$d'
###涓庝笂杈逛竴涓兘鏄煡鎵懼垹闄?
# delete the last 2 lines of a file
#鍒犻櫎涓涓枃浠朵腑鏈鍚?琛?
sed 'N;$!P;$!D;$d'
###濡傛灉鐞嗚В浜唖ed '$!N;$!D'鏄浣曞伐浣滅殑錛岃繖鍙ヨ瘽涔熶笉鍦ㄨ瘽涓嬪惂錛?
# delete the last 10 lines of a file
#鍒犻櫎涓涓枃浠朵腑鍚?0琛?
sed -e :a -e '$d;N;2,10ba' -e 'P;D' # method 1
sed -n -e :a -e '1,10!{P;N;D;};N;ba' # method 2
###鍜屾墦鍗板悗10琛岀浉浼鹼紟浠涔堬紵鎵撳嵃鍚?0閭d釜娌$湅鎳? /shakehand 錛氾級
###?????????????????
# delete every 8th line
# 姣?琛屽垹闄?琛?
gsed '0~8d' # GNU sed only
sed 'n;n;n;n;n;n;n;d;' # other seds
###娌¤鐨?
# delete ALL blank lines from a file (ame as "grep '.' ")
#鍒犻櫎鏂囦歡鎵鏈夌┖鐧借(浼間簬"grep '.' ")
sed '/^$/d' # method 1
sed '/./!d' # method 2
###榪欎袱鍙ュ氨鏄憡璇夋垜浠?.鏃犲唴瀹圭殑鍒犻櫎,2.鏈夊唴瀹圭殑淇濈暀 : )
# delete all CONSECUTIVE blank lines from file except the first; also
# deletes all blank lines from top and end of file (emulates "cat -s")
#鍒犻櫎鏂囦歡涓櫎涓琛岀┖鐧借涔嬪鐨勬墍鏈夎繛緇┖鐧借錛屼篃鍚屾椂鍒犻櫎鎵鏈変粠澶村埌灝劇殑鎵
#鏈夌┖鐧借(浼間簬"cat -s")
sed '/./,/^$/!d' # method 1, allows 0 blanks at top, 1 at EOF
#鏂規硶1涓嶅厑璁告枃浠墮《閮ㄦ湁絀鴻錛屾枃浠跺熬閮ㄥ彲浠?
sed '/^$/N;/
$/D' # method 2, allows 1 blank at top, 0 at EOF
#鏂規硶2涓嶅厑璁告枃浠跺熬閮ㄦ湁絀鴻錛屾枃浠墮《閮ㄥ彲浠?
###涓や釜鍏堥夋嫨錛屽悗鍒犻櫎鍛戒護.涓嶅璇翠簡.
# delete all CONSECUTIVE blank lines from file except the first 2:
#鍒犻櫎鏂囦歡涓繛緇┖琛屼腑闄ゅ墠涓よ絀虹櫧琛屼箣澶栫殑鎵鏈夌┖鐧借
sed '/^$/N;/
$/N;//D'
###璺熶笂杈圭殑鍛戒護鐩鎬技錛屽浜嗕竴姝ヨ屽凡.
# delete all leading blank lines at top of file
#鍒犻櫎鏂囦歡寮澶撮儴鍒嗕腑鐨勬墍鏈夌┖鐧借
sed '/./,$!d'
###浠庢湁瀛楃寮濮嬬殑琛岀洿鍒版渶鍚庝竴琛屼繚鐣欙紝鍏朵粬鍒犻櫎.
# delete all trailing blank lines at end of file
#鍒犻櫎鏂囦歡緇撳熬閮ㄥ垎涓殑鎵鏈夌┖鐧借
sed -e :a -e '/^
*$/{$d;N;ba' -e '}' # works on all seds
sed -e :a -e '/^
*$/N;/
$/ba' # ditto, except for gsed 3.02*
###涓嶈浜嗚姝諱簡錛岃繕鏄珮鎵嬭鍚э紝鎴戝啀鐪嬩笅鍘諱細鐤殑錛?
###?????????????????????????????
# delete the last line of each paragraph
#鍒犻櫎姣忎釜孌佃惤涓渶鍚?琛?
sed -n '/^$/{p;h;};/./{x;/./p;}'
###搴旇鏄亣璁炬钀介棿鐢ㄧ┖琛屽垎闅?
###鍛戒護鎵ц鏃訛紝濡傛灉涓嶆槸絀鴻閭d箞浜ゆ崲妯″紡絀洪棿鍜屼繚鐣欑┖闂達紝濡傛灉浜ゆ崲鍚?
###妯″紡絀洪棿涓嶄負絀猴紝鍒欐墦鍗版ā寮忕┖闂翠腑鍐呭錛涘鏋滄槸絀鴻錛岄偅涔堟墦鍗版ā寮忕┖闂?
###闂翠腑鐨勫唴瀹?涔熷氨鏄墦鍗扮┖琛?..浠ユ綾繪帹,鍑虹幇緇撴灉.
###緇堜簬瀹屼簡錛屼笅杈圭殑鐗規畩搴旂敤娌℃湁鍔犳敞錛岄殢渚跨炕璇戜簡涓涓嬶紝鍙兘涓嶅鍑嗙‘錛屽ぇ瀹跺弬鑰冧竴涓嬪惂.  
SPECIAL APPLICATIONS:
# remove nroff overstrikes (char, backspace)from man pages. The 'echo'
# command may need an -e switch if you use Unix System V or bash shell.
# 浠巑an page欏甸噷鍒犻櫎鎵鏈塷verstrikes(瀛楃,backspace).濡傛灉浣跨敤unix緋葷粺v
#鎴栬卋ash shell,echo鍛戒護鍙兘闇瑕?e鍙傛暟.
sed "s/.`echo \\\b`//g" # double quotes required for Unix environment
#unix鐜涓嬮渶瑕佸弻寮曞彿
sed 's/.^H//g' # in bash/tcsh, press Ctrl-V and then Ctrl-H
#鍦╞ash/tcsh涓紝鎸塁trl-V鐒跺悗鎸塁trl-H
sed 's/.\x08//g' # hex expression for sed v1.5
#sed v1.5涓殑hex琛ㄨ揪寮?
# get Usenet/e-mail message header
# 鑾峰緱鏂伴椈緇?e-mail淇℃伅鐨勬爣棰橀儴鍒?
sed '/^$/q' # deletes everything after first blank line
# get Usenet/e-mail message body
#鑾峰緱鏂伴椈緇?e-mail淇℃伅鐨勪富浣撻儴鍒?
sed '1,/^$/d' # deletes everything up to first blank line
# get Subject header, but remove initial "Subject: " portion
#鑾峰緱棰樼洰鐨勬爣棰橈紝浣嗘槸鍒犲幓寮濮嬬殑"Subject: "閮ㄥ垎
sed '/^Subject: */!d; s///;q'
# get return address header
#鑾峰緱榪斿洖鐨勫湴鍧鏍囬()
sed '/^Reply-To:/q; /^From:/h; /./d;g;q'
# parse out the address proper. Pulls out the e-mail address by itself
# from the 1-line return address header (ee preceding script)
#姝g‘瑙f瀽鍦板潃銆傛妸email鍦板潃浠庝竴琛屼腑鍗曠嫭鎻愬嚭鏉ュ茍榪斿洖鍦板潃澶?)
sed 's/ *(*)/; s/>.*//; s/.*[: /'
# delete leading angle bracket & space from each line (nquote a message)
#鍒犻櫎姣忚鐨勫皷鎷彿鍜岀┖鏍?)淇℃伅涓嶈寮曠敤)
sed 's/^> //'
# remove most HTML tags (ccommodates multiple-line tags)
#鍒犲幓澶ч儴鍒咹TML鏍囩(渚涘琛屾爣絳?)
sed -e :a -e 's/]*>//g;/zipup.bat
dir /b *.txt | sed "s/^\(*\).TXT/pkzip -mo \1 \1.TXT/" >>zipup.bat
               
               
               

鏈枃鏉ヨ嚜ChinaUnix鍗氬錛屽鏋滄煡鐪嬪師鏂囪鐐癸細http://blog.chinaunix.net/u1/44068/showart_391470.html

Prayer 2010-09-15 11:13 鍙戣〃璇勮
]]>
sed瀛︿範絎旇浜?-楂樼駭鍛戒護 http://m.shnenglu.com/prayer/archive/2010/09/15/126634.htmlPrayerPrayerWed, 15 Sep 2010 02:33:00 GMThttp://m.shnenglu.com/prayer/archive/2010/09/15/126634.htmlhttp://m.shnenglu.com/prayer/comments/126634.htmlhttp://m.shnenglu.com/prayer/archive/2010/09/15/126634.html#Feedback0http://m.shnenglu.com/prayer/comments/commentRss/126634.htmlhttp://m.shnenglu.com/prayer/services/trackbacks/126634.html
鐗堟潈澹版槑錛?/strong>鍘熷垱浣滃搧錛屽厑璁歌漿杞斤紝杞澆鏃惰鍔″繀浠ヨ秴閾炬帴褰㈠紡鏍囨槑鏂囩珷 鍘熷鍑哄 銆佷綔鑰呬俊鎭拰鏈0鏄庛傚惁鍒欏皢榪界┒娉曞緥璐d換銆?a >http://licong.blog.51cto.com/542131/204226
涔嬪墠鍐欒繃涓綃囥?/span>sed瀛︿範絎旇銆?/span>http://licong.blog.51cto.com/542131/152541錛岃浜嗕竴鐐?/span>sed鍏ラ棬鐨勪笢瑗匡紝鏈瘒灝嗙戶緇粙緇?/span>sed楂樼駭鍛戒護閮ㄥ垎銆傛墍璋撻珮綰э紝涓昏鏄寚榪欓噷灝嗚鎻愬埌鐨勫懡浠ら兘鑳芥敼鍙?/span>sed鎵ц鎴栬呮帶鍒剁殑嫻佺▼欏哄簭錛?/span>sed閫氬父閮芥槸涓琛岃璇誨叆妯″紡絀洪棿錛屽茍鐢ㄨ剼鏈腑鐨?/span>sed鍛戒護涓涓帴涓涓殑搴旂敤浜庨偅涓琛岋級 

楂樼駭sed鍛戒護鍒嗘垚3涓粍錛?/span>

1銆?span>    澶勭悊澶氳妯″紡絀洪棿錛?/span>N銆?/span>D銆?/span>P錛夈?/span>

2銆?span>    閲囩敤淇濇寔絀洪棿鏉ヤ繚瀛樻ā寮忕┖闂寸殑鍐呭騫朵嬌浠栦滑鍙敤浜庡悗緇殑鍛戒護錛?/span>H銆?/span>h銆?/span>G銆?/span>g銆?/span>x錛夈?/span>

3銆?span>    緙栧啓浣跨敤鍒嗘敮鍜屾潯浠舵寚浠ょ殑鑴氭湰鏉ユ洿鏀規帶鍒舵祦錛堬細銆?/span>b銆?/span>t錛夈?nbsp;

N鍛戒護錛氳拷鍔犱笅涓琛?/span>
澶氳Next(N)鍛戒護閫氳繃璇誨彇褰撳墠琛岀殑涓嬩竴琛岋紝騫舵妸涓よ鎷兼垚涓琛屾潵榪涜鎺ヤ笅鏉ョ殑澶勭悊銆?/span>
$ cat file
line 1
line 2
line 3
line 4
file鏂囦歡涓殑姣忎竴琛屽悗闈㈤兘鏈変竴涓殣钘忕殑鎹㈣絎?/span>”\n”錛?/span>sed涓嶅姣忚鏈熬鐨?/span>”\n”榪涜澶勭悊銆?/span>
$ sed N file
line 1
line 2
line 3
line 4
緇忚繃N澶勭悊榪囩殑杈撳嚭鍜屽師鏂囦歡娌℃湁鍖哄埆錛屼絾鏄湰璐ㄦ槸涓嶄竴鏍風殑銆傝繖閲?/span>sed鍏跺疄璁や負鑷繁鎵撳嵃鐨勬槸2琛岋紝絎竴琛屼負”line 1\nline 2”,鑰岀2琛屼負”line 3\nline 4”,娉ㄦ剰榪欓噷鐨?/span>2琛屾湯灝句緷鐒墮殣钘忔崲琛岀”\n”錛?/span>sed渚濈劧涓嶅鐞嗚灝劇殑”\n”錛屼絾鏄鐞嗚鍐呯殑”\n”銆傚洜涓鴻繖閲岄粯璁ょ殑鍔ㄤ綔鏄墦鍗幫紝鎵浠ュ鐞嗚鍐呯殑”\n”鎴戜滑涔熺湅涓嶅嚭鏉ャ?/span>
鍊煎緱娉ㄦ剰鐨勬槸錛屽鐞?/span>line 1鏃訛紝line 2琚鍏ュ茍榪藉姞鍒?/span>line 1鍚庨潰錛屾墍浠?/span>line 1澶勭悊瀹屽悗涓嶅啀璇誨叆line 2錛堝墠闈㈠凡緇忚榪囦簡錛夎岀洿鎺ヨ鍏?/span>line 3榪涜涓嬩竴涓?/span>N鍛戒護錛堝嵆璇誨叆line 4騫惰拷鍔犲埌line 3鍚庨潰錛夈?/span>
涓婇潰2孌靛鏋滀笉鐞嗚В鐨勮瘽錛岀湅涓嬮潰榪欎釜鍛戒護錛?/span>
$ sed ‘N;s/\n/ /g’ file
line 1 line 2
line 3 lin3 4
榪欎釜鍛戒護鍦ㄥ師鏉ョ殑鍩虹涓婃妸琛屽唴鐨?/span>”\n”鏇挎崲鎴愮┖鏍間簡錛堝敖綆$敤浜嗗叏灞鏇挎崲鏍囧織g錛?/span>sed渚濈劧涓嶅鐞嗚灝炬崲琛岀錛侊級錛岀湅鏄庣櫧N鐨勪綔鐢ㄤ簡鍚楋紝鍗曠嫭鐨?/span>N鍙互鍒涘緩2琛屾ā寮忕┖闂淬?nbsp;
D鍛戒護錛氬垹闄ゅ琛屾ā寮忕┖闂翠腑錛岀洿鍒扮涓涓鍐呯殑”\n”涓烘鐨勬墍鏈夊唴瀹廣?/span>
D鍛戒護閫氬父浣嶄簬N鍛戒護涔嬪悗錛岀敤浜庡鐞?/span>N鍛戒護鍒涘緩鐨勫琛屾ā寮忕┖闂淬?/span>D鍛戒護鍒犻櫎澶氳妯″紡絀洪棿琛屽唴絎竴涓?/span>”\n”鍙婂叾涔嬪墠鐨勫唴瀹瑰悗錛屽浣欎笅鐨勫唴瀹癸紙絎竴涓鍐?/span>”\n”涔嬪悗鐨勫唴瀹癸級閲嶆柊浠?/span>sed絎竴涓懡浠よ繘琛屽鐞嗐?/span>

D鍜?/span>d鐨勭浉鍚岀偣鏄紝鍒犻櫎鍐呭鍚庯紝閲嶆柊浠?/span>sed絎竴涓懡浠ゅ紑濮嬪鐞嗭紝榪欎竴鐐圭湅鏉?/span>D鍜?/span>d閮芥湁鏀瑰彉sed鎵ц欏哄簭鐨勮兘鍔涳紱鍖哄埆鍦ㄤ簬d鍒犻櫎妯″紡絀洪棿涓殑鎵鏈夊唴瀹癸紝鐒跺悗閲嶆柊璇誨彇鏂囨湰涓嬩竴琛屼粠sed欏墮儴榪涜澶勭悊錛岃?/span>D鍒犻櫎妯″紡絀洪棿鐨勪竴閮ㄥ垎鍐呭錛岃屽皢妯″紡絀洪棿鍓╀笅鐨勫唴瀹逛粠sed欏墮儴榪涜澶勭悊銆?/span>
$ sed ‘N;d’ file
$
$sed ‘N;D’ file
line 4
‘N;d’姣忔鍒涘緩2琛屾ā寮忕┖闂達紝騫跺皢妯″紡絀洪棿鐨勫唴瀹瑰叏閮ㄥ垹闄わ紝鎵浠ョ粨鏋滄墍鏈?/span>4琛岋紙sed鐪嬫潵鏄?/span>2琛岋級閮藉垹闄や簡銆傚鏋?/span>file鏈?/span>5琛屾暟鎹紝鍒欑5琛屽皢琚墦鍗板嚭鏉ワ紝鍥犱負絎?/span>5琛屾墽琛?/span>N鏃惰涓嶅埌涓嬩竴琛屼簡錛屾墍浠?/span>d涓嶆墽琛岋紝鎵撳嵃絎?/span>5琛岋紝浣犲彲浠ヨ嚜宸辮瘯涓璇曘?/span>
‘N;D’姣忔鍒涘緩2琛屾ā寮忕┖闂達紝鍒犻櫎鍓嶉潰涓琛岋紝騫跺皢妯″紡絀洪棿鐨勭2琛岀戶緇墽琛?/span>’N;D’,鐩村埌鏈鍚庝竴琛?/span>N娌″唴瀹瑰彲璇伙紝涓嶆墽琛?/span>D錛岃屾槸鎵撳嵃鏈鍚庝竴琛屻?/span>’N;D’瀹為檯鏋勬垚浜嗕竴涓驚鐜紙鎯蟲兂N鐩存帴璇誨叆涓嬩竴琛岋紝瀵?/span>2琛岃繘琛屽鐞嗭紝涓嬩竴嬈″絎?/span>2琛屽氨涓嶅鐞嗕簡鑰屾槸璇誨彇絎?/span>3琛屽鐞嗭紱鑰屽姞浜?/span>D涔嬪悗錛屽厛澶勭悊2琛岋紝鍐嶅鍓╀笅鐨勭2琛屾帴鐫榪涜澶勭悊錛?nbsp;
P鍛戒護錛氭墦鍗版ā寮忕┖闂寸洿鍒扮涓涓?/span>”\n”涓烘鐨勬墍鏈夊唴瀹廣?/span>
p錛堝皬鍐欙級鏄墦鍗版ā寮忕┖闂寸殑鎵鏈夊唴瀹癸紝P錛堝ぇ鍐欙級鏄墦鍗版ā寮忕┖闂寸殑涓閮ㄥ垎錛岃繖涓鍖哄埆鍜?/span>D/d綾諱技銆傛湁涓鐐硅娉ㄦ剰錛屼笉瑕佹妸浠諱綍鍛戒護鏀懼湪d鎴栬?/span>D鍚庨潰錛屽洜涓洪偅鏍瘋鍛戒護姘歌繙涔熸病鏈夋墽琛岀殑鏈轟細浜嗐備緥濡?/span>sed ‘N;D;P’ file鍜?/span>sed ‘N;D’ file鏄畬鍏ㄧ浉鍚岀殑鏁堟灉銆?/span>
$ cat file
line 1 li
cong line 2
line 3 licong
line 4 li
cong line 5
鎴戜滑瑕佹妸鍒嗗湪涓よ鐨?/span>li鍜?/span>cong鍚堝埌涓琛屽簲璇ユ庝箞鍋氬憿錛?/span>
$ sed 'N;s/li\ncong */licong\n/g;P;D' file
line 1 licong
line 2
line 3 licong
line 4 licong
line 5
鎵ц榪欎釜sed鍛戒護鐨勬祦紼嬫槸榪欐牱鐨勶細
涓銆侀琛屾枃鏈簲鐢?/span>N璇誨彇涓嬩竴琛岋紝鏋勬垚2琛屾ā寮忕┖闂?/span>
line 1 li\n
cong line 2
s鍛戒護灝?/span>li\ncong (娉ㄦ剰cong鍚庢湁涓涓┖鏍?/span>)鏇挎崲鎴?/span>licong\n,鍗?/span>
line 1 licong
line 2
鎺ョ潃鎵цP錛屾墦鍗?/span>line 1 licong錛?/span>P緇撴潫鍚庝袱琛屾ā寮忕┖闂存病鏈夋敼鍙橈級
鍐嶅涓よ妯″紡絀洪棿鎵цD錛屽垹闄?/span>line 1 licong\n,騫跺皢鍓╀笅鐨?/span>line 2鍋氫負鏂扮殑妯″紡絀洪棿浠庡ご鎵цsed鍛戒護錛?/span>
浜屻佸妯″紡絀洪棿鍐呭line 2鍏堟墽琛?/span>N錛岃鍙栦笅涓琛?/span>line 3 licong錛屽垱寤轟袱琛屾ā寮忕┖闂?/span>
line 2
line 3 licong
榪欐s娌℃壘鍒板尮閰嶅唴瀹癸紝鎵浠ユ墽琛?/span>s鍚庨潰鐨?/span>P;D鍛戒護錛岄噸鏂版墦鍗般佸垹闄わ紝榪涜涓嬩竴杞驚鐜紱
銆傘傘?/span>
涓夈佹渶鍚庝竴琛?/span>line 5鎵цN娌℃湁鍐呭鍙錛岀洿鎺ユ墦鍗拌琛屻?/span>
 
h銆?/span>H銆?/span>g銆?/span>G銆?/span>x榪欏嚑涓懡浠ら兘鏄敤浜庢ā寮忕┖闂村拰淇濇寔絀洪棿杞崲鐨勩傝繖閲屾湁蹇呰瑙i噴涓涓嬫ā寮忕┖闂村拰淇濇寔絀洪棿浜嗭細
妯″紡絀洪棿鈥斺斿綰沖綋鍓嶈緭鍏ヨ鐨勭紦鍐插尯銆?/span>
闄や簡h/H/g/G/x錛屽叾浠栨墍鏈?/span>sed鍛戒護閮芥槸閽堝妯″紡絀洪棿鐨勫唴瀹硅繘琛屽鐞嗙殑錛?/span>
淇濇寔絀洪棿鈥斺旀ā寮忕┖闂翠互澶栫殑涓涓鐣欑紦鍐插尯銆?/span>
鍙湁h/H/g/G/x鍛戒護鍙互璁塊棶鍒頒繚鎸佺┖闂寸殑鍐呭錛屽茍鐢ㄤ簬涓庢ā寮忕┖闂村唴瀹圭殑杞崲銆?/span>

h錛氬皢妯″紡絀洪棿鐨勫唴瀹瑰鍒跺埌淇濇寔絀洪棿錛岀被浼間笌閲嶅畾鍚戠鍙?/span>>錛屼細瑕嗙洊鍘熺敱淇濇寔絀洪棿鍐呭
H錛氬皢妯″紡絀洪棿鐨勫唴瀹硅拷鍔犲埌淇濇寔絀洪棿錛岀被浼間笌榪藉姞閲嶅畾鍚?/span>>>錛岃拷鍔犲埌淇濇寔絀洪棿鐨勫熬琛屼笅
g錛氱被浼?/span>h錛屽皢淇濇寔絀洪棿鐨勫唴瀹瑰鍒跺埌妯″紡絀洪棿
G錛氱被浼?/span>H錛屽皢淇濇寔絀洪棿鐨勫唴瀹硅拷鍔犲埌妯″紡絀洪棿
x錛氫氦鎹㈡ā寮忕┖闂翠笌淇濇寔絀洪棿涓殑鍐呭 

$ cat file
1
2
11
22
$ sed ‘/1/{h;d};/2/G’ file
2
1
22
11
榪欎釜sed鍛戒護瀹屾垚浜嗗弽杞殑鍔熻兘錛屾垜浠潵鐪嬬湅鏄庝箞瀹炵幇鐨勶細
涓銆?/span>/1/{h;d}鍛戒護鎼滅儲妯″紡絀洪棿鍖呭惈1鐨勮鐒跺悗鍏堝悗鎵цh鍜?/span>d鍛戒護銆傜粨鏋滈琛?/span>1灝嗚搴旂敤錛?span>h鎶婅琛岋紙鍐呭涓?/span>1錛夊鍒跺埌淇濇寔絀洪棿錛屾鏃舵ā寮忕┖闂村拰淇濇寔絀洪棿涓殑鍐呭涓猴細
妯″紡絀洪棿錛?/span>1
淇濇寔絀洪棿錛?/span>1
鎺ョ潃鎵цd錛?/span>d涓嶈兘璁塊棶淇濇寔絀洪棿錛屽彧澶勭悊妯″紡絀洪棿鐨勫唴瀹癸紝灝嗘ā寮忕┖闂寸殑鍐呭鍒犻櫎錛屾鏃訛細
妯″紡絀洪棿錛?/span>      錛堢┖錛屾病鏈夊唴瀹癸級
淇濇寔絀洪棿錛?/span>1
浜屻?/span>d鍛戒護鎵ц瀹屼箣鍚庯紝鎵ц/2/G錛屽嵆鍦ㄦā寮忕┖闂存悳绱㈠寘鍚?/span>2鐨勮榪涜G澶勭悊錛岃屾鏃舵ā寮忕┖闂存棤鍐呭錛屾墍浠ヤ笉鍋氫換浣曟搷浣溿?/span>
涓夈佽鍙栦笅涓琛屾枃鏈埌妯″紡絀洪棿錛岀戶緇墽琛?/span>’/1/{h;d};/2/G’銆備笅涓琛屾枃鏈殑鍐呭鏄?/span>2錛屾鏃訛細
妯″紡絀洪棿錛?/span>2
淇濇寔絀洪棿錛?/span>1
涓庢楠や簩鐨勯亾鐞嗙浉鍚岋紝h銆?/span>d寰椾笉鍒版墽琛岋紙鍥犱負妯″紡鍙┖闂存病鎵懼埌鍖呭惈1鐨勮錛夛紱鑰?/span>’/2/G’灝嗚鎵ц錛屽皢淇濇寔絀洪棿鐨勫唴瀹硅拷鍔犲埌妯″紡絀洪棿鍚庨潰錛屾鏃訛細
妯″紡絀洪棿錛?/span>2
         1
淇濇寔絀洪棿錛?/span>1
榪欎竴姝ュ畬鎴愪互鍚庯紝妯″紡絀洪棿鐨勫唴瀹瑰皢琚?/span>sed榛樿鍦版墦鍗板嚭鏉ワ紙濡傛灉鏈?/span>-n鍙傛暟鎵嶄笉鎵撳嵃錛夛紝浜庢槸鍓嶄袱琛屽鐞嗗畬涔嬪悗錛屽皢杈撳嚭錛?/span>
2
1

鍚岀悊錛屽悗涓よ澶勭悊瀹屼箣鍚庯紝灝嗚緭鍑猴細
22
11
浜庢槸錛屾垜浠湅鍒頒簡鏈鍚庣殑緇撴灉錛?/span>
2
1
22
11 
榪欎釜鏈綆鍗曠殑渚嬪瓙鏈夊緢澶氬湴鏂瑰煎緱鎸栨帢錛屾垜浠氨鏉ョ湅鐪嬫渶閲嶈鐨勫嚑鐐廣?/span>

1銆?nbsp;褰?/span>sed鍚庨潰甯︽湁涓涓互涓婄殑鍛戒護鏃訛紝瀹冪殑澶勭悊欏哄簭鏄繖鏍風殑錛?/span>

涓嬈¤鍏ヤ竴琛屽埌妯″紡絀洪棿錛岀劧鍚庡皢鎵鏈夌殑鍛戒護搴旂敤浜庤琛岋紱鑰屼笉鏄竴嬈″皢涓涓懡浠や綔鐢ㄤ笌鎵鏈夎錛?/span>

2銆?nbsp;褰撴煇涓潯浠跺悗闈㈡湁{}鏃訛紝{}閲岄潰鐨勫懡浠や緷嬈′綔鐢ㄤ簬婊¤凍璇ユ潯浠剁殑琛岋紱

3銆?nbsp;h/H/g/G鍛戒護鎿嶄綔緙撳啿鍖烘椂錛岄兘浼氬湪鐩殑緙撳啿鍖哄悗鍔犱竴涓崲琛岋紙鍗充嬌璇ョ紦鍐插尯鏃犲唴瀹癸級錛岀劧鍚庡鍒舵垨榪藉姞婧愮紦鍐插尯鍐呭鍦ㄨ鎹㈣絎︿箣鍚庯紱

4銆?nbsp;娌℃湁浣跨敤-n鍙傛暟鏃訛紝褰撲竴琛屾墽琛屽畬鎵鏈夊懡浠ゅ悗錛?/span>sed浼氶粯璁ゆ墦鍗版渶緇堟ā寮忕┖闂翠腑鐨勫唴瀹癸紱

濡傛灉浣跨敤-n鍙傛暟錛屽彧鏈夊簲鐢ㄤ簡p/P鍛戒護鐨勬ā寮忕┖闂村唴瀹規墠浼氳鎵撳嵃鍑烘潵銆?/span>


x鍛戒護鏆備笉涓句緥錛屾垜浠潵鐪嬬湅鏈鍚庝竴緇勯珮綰у懡浠わ紙錛氥?/span>b銆?/span>t錛?/span>
鍒嗘敮錛?/span>b錛夊拰嫻嬭瘯錛?/span>t錛夊懡浠ゅ嚑涔庡彲浠ヤ換鎰忔敼鍙?/span>sed鍛戒護鐨勬墽琛岄『搴忥紝浠栦滑閮藉皢sed杞Щ鍒板寘鍚爣絳劇殑琛岋紝濡傛灉娌℃湁鎸囧畾鏍囩錛屽垯灝嗚漿縐誨埌鍛戒護鏈熬銆?/span>b鐢ㄤ簬鏃犳潯浠剁殑杞Щ錛堝嵆涓紕板埌b绔嬪埢杞Щ錛夛紱t鐢ㄤ簬鏈夋潯浠惰漿縐伙紝鍙湁褰撴浛鎹㈠懡浠ゆ敼鍙樺綋鍓嶈鏃舵墠浼氭墽琛屻?nbsp;
鏍囩瀹氫箟錛?/span>
:lable
lable鍙互闅忎究鐢ㄤ粈涔堝悕瀛楋紝鑷繁鑳芥柟渚跨湅鏄庣櫧灝辮錛涘啋鍙峰拰鏍囩涔嬮棿涓嶅厑璁告湁絀烘牸錛?/span>lable鍚庨潰濡傛灉鏈夌┖鏍煎皢琚涓烘槸lable鐨勪竴閮ㄥ垎錛堜笉寤鴻鍦?/span>lable鍚庨潰甯︾┖鏍鹼級
b鍜?/span>t鐨勭敤娉曪細
[address]b [lable]
[address]t [lable]
b/t鍜?/span>lable涔嬮棿鏈夌┖鏍鹼紝浣?/span>lable鍚庨潰涓嶈鎻掑叆絀烘牸銆?/span>
涓句緥錛?/span>
$ cat file
line 1 li
cong line 2
line 3 licong
line 4 li
cong line 5 

$ sed -n '$!{/licong/!{h;N;D}
x;G;N;p;b
}
${/licong/{x;G;p}}' file
cong line 2
line 3 licong
line 4 li 
榪欎釜sed鍛戒護鐨勫姛鑳芥槸瀵繪壘鍖呭惈瀛楃涓?/span>licong鐨勮錛屽茍鎵撳嵃璇ヨ鍙婂叾鍓嶅悗涓琛屻傝繖涓懡浠ゅ茍涓嶅畬鍠勶紝瀹冧笉鑳藉緢濂界殑澶勭悊絎竴琛屽尮閰嶇殑鎯呭喌錛屽姞鍏ヨ鍔熻兘鍛戒護浼氬彉寰楁洿澶嶆潅銆傛垜浠潵瑙i噴涓涓嬩笂闈㈢殑緇撴灉鏄庝箞鏉ョ殑銆?/span>
涓銆?/span>sed -n '$!{/licong/!{h;N;D}
x;G;N;p;b
瀵歸櫎鏈浠ュ鐨勬墍鏈夎($!鐨勪綔鐢?/span>)錛屾墽琛?/span>/licong/!{h;N;D}錛?/span>x;G;N;p;b
浜屻?/span>/licong/!{h;N;D}
瀵逛笉鍖呭惈瀛楃涓?/span>licong鐨勮渚濇鎵цh錛?/span>N錛?/span>D錛岀涓琛?/span>line 1 li涓嶅寘鍚?/span>licong錛屼簬鏄墽琛岋細
鎶婅琛屽鍒跺埌淇濇寔絀洪棿錛岃鍙栬拷鍔犱笅涓琛岋紝姝ゆ椂
妯″紡絀洪棿錛?/span>line 1 li
cong line 2
淇濇寔絀洪棿錛?/span>line 1 li
鍐嶅妯″紡絀洪棿鎵цD錛屽茍鎺ョ潃浠庡ご澶勭悊鏂扮殑妯″紡絀洪棿錛屾鏃?/span>
妯″紡絀洪棿錛?/span>cong line 2
淇濇寔絀洪棿錛?/span>line 1 li
涓夈佷粠澶村妯″紡絀洪棿鐨勫唴瀹?/span>cong line 2鎵ц$!{/licong/!{h;N;D}錛屾鏃剁殑妯″紡絀洪棿渚濈劧涓嶅寘鍚?/span>licong錛屾墍浠ヨ繘琛屼竴浜屼袱姝ュ悓鏍風殑鎿嶄綔錛岀粨鏉熷悗錛?/span>
妯″紡絀洪棿錛?/span>line 3 licong
淇濇寔絀洪棿錛?/span>cong line 2
鍥涖佸啀浠庡ご瀵規柊鐨勬ā寮忕┖闂?/span>line 3 licong鎵ц/licong/!{h;N;D}錛?/span>x;G;N;p;b銆傚洜涓烘鏃剁殑妯″紡絀洪棿鍖呭惈licong錛屾墍浠ヤ笉鎵цh;N;D浜嗭紝鑰屾槸鎵цx;G;N;p;b銆?/span>x鐢ㄤ笌浜ゆ崲妯″紡絀洪棿鍜屼繚鎸佺┖闂寸殑鍐呭錛屼氦鎹㈢殑緇撴灉鏄細

妯″紡絀洪棿錛?/span>cong line 2
淇濇寔絀洪棿錛?/span>line 3 licong

鎺ヤ笅鏉ユ墽琛?/span>G錛屽皢淇濇寔絀洪棿鐨勫唴瀹硅拷鍔犲埌妯″紡絀洪棿涔嬪悗錛?/span>

 妯″紡絀洪棿錛?/span>cong line 2
           line 3 licong
淇濇寔絀洪棿錛?/span>line 3 licong

鍐嶆墽琛?/span>N錛屽皢涓嬩竴琛岃鍙栬拷鍔犲埌妯″紡絀洪棿涔嬪悗錛?/span>

 妯″紡絀洪棿錛?/span>cong line 2
line 3 licong
                    line 4 li
淇濇寔絀洪棿錛?/span>line 3 licong
鍐嶆墽琛?/span>p錛屾墦鍗版ā寮忕┖闂寸殑鍐呭錛?/span>
cong line 2
    line 3 licong
       line 4 li            錛堣繖灝辨槸鎴戜滑鐪嬪埌鐨勭粨鏋滐級
涔嬪悗榪樻湁涓涓?/span>b錛屽氨鏄煩榪?/span>b鍚庨潰鐨勫懡浠わ紝鍐嶈涓嬩竴琛屻傚懡浠ゆ渶鍚庝竴閮ㄥ垎${/licong/{x;G;p}}鏄敤鏉ュ鐞嗘渶鍚庝竴琛岀殑錛屽鏋滄渶鍚庝竴琛屽寘鍚?/span>licong鍒欐墦鍗拌琛屽緢涓婇潰涓琛岋紙鑰屼笉鎵撳嵃涓嬩竴琛岋紝鍥犱負娌℃湁N鍛戒護錛?/span>

鍒版錛?/span>sed鐨勯珮綰у懡浠ゅ氨浠嬬粛瀹屼簡銆傘?/span>sed&awk銆嬬浜岀増鏈変竴鍙ヨ瘽錛?#8220;涓鏃︿綘鐞嗚В浜嗚繖閲屾墍緇欏嚭鐨勫懡浠わ紝閭d箞灝卞彲浠ヨ涓鴻嚜宸辨槸鐪熸鐨?/span>sed鐨勪富浜轟簡銆?#8221;
鍐嶆葷粨涓涓?/span>sed鎵鏈夌殑鍔熻兘錛屾葷殑鏉ヨ榪樻槸鏇挎崲鍛戒護’[address]s/source/replace/flag’鏈甯哥敤錛岃岄珮綰у懡浠ゅ垯鐢ㄤ簬瀹屾垚澶嶆潅鐨勪換鍔★紱榪樻湁sed鐨?/span>-n錛堟姂鍒墮粯璁よ緭鍑猴級銆?/span>-i錛堟洿鏀瑰師鏂囦歡錛夌瓑鍙傛暟涔熷緢甯哥敤銆?nbsp;
灝卞啓鍒拌繖閲屽惂錛岀瓑寰呮媿鐮栦簡銆傘傘?/span>

鏈枃鍑鴻嚜 “licong” 鍗氬錛岃鍔″繀淇濈暀姝ゅ嚭澶?a >http://licong.blog.51cto.com/542131/204226

鏈枃鍑鴻嚜 51CTO.COM鎶鏈崥瀹?/a>

Prayer 2010-09-15 10:33 鍙戣〃璇勮
]]>
鐢╯ed鍛戒護濡備綍鑳芥妸涓涓尮閰嶆ā寮忔浛鎹負鎹㈣絎?/title><link>http://m.shnenglu.com/prayer/archive/2010/09/15/126632.html</link><dc:creator>Prayer</dc:creator><author>Prayer</author><pubDate>Wed, 15 Sep 2010 02:15:00 GMT</pubDate><guid>http://m.shnenglu.com/prayer/archive/2010/09/15/126632.html</guid><wfw:comment>http://m.shnenglu.com/prayer/comments/126632.html</wfw:comment><comments>http://m.shnenglu.com/prayer/archive/2010/09/15/126632.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/prayer/comments/commentRss/126632.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/prayer/services/trackbacks/126632.html</trackback:ping><description><![CDATA[灝嗙┖鏍兼浛鎹負鎹㈣絎︺?br>涓ょ鐘柟娉?br>1浣跨敤cutr V+ctrl J浠f浛鎹㈣絎?br>sed 's/ /\^J/g'<br>2 鐩存帴浣跨敤鎹㈣絎?br>s/ /\<br>/g <img src ="http://m.shnenglu.com/prayer/aggbug/126632.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/prayer/" target="_blank">Prayer</a> 2010-09-15 10:15 <a href="http://m.shnenglu.com/prayer/archive/2010/09/15/126632.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>浣跨敤shell鎻愪緵鐨勫懡浠よ緙栬緫鍔熻兘, 閫夋嫨set -o vi 榪樻槸 set -o emacs http://m.shnenglu.com/prayer/archive/2010/09/01/125489.htmlPrayerPrayerWed, 01 Sep 2010 01:36:00 GMThttp://m.shnenglu.com/prayer/archive/2010/09/01/125489.htmlhttp://m.shnenglu.com/prayer/comments/125489.htmlhttp://m.shnenglu.com/prayer/archive/2010/09/01/125489.html#Feedback0http://m.shnenglu.com/prayer/comments/commentRss/125489.htmlhttp://m.shnenglu.com/prayer/services/trackbacks/125489.html浠婂ぉ鐧誨叆緋葷粺錛?鏁蹭簡N澶氬懡浠ゅ悗錛屼範鎯х殑鐢ㄥ悜涓婄殑鏂瑰悜閿潵鎵懼鍘嗗彶鍛戒護錛岀獊鐒剁湅鍒頒簡榪欎釜錛?/p>

  $^[[A^[[A^[[A 

鎸夊垹闄ら敭錛屽嚭鏉ョ殑鏄繖涓細

  $ ^H^H^H^H^H^H^H 

鍙兘鐢?Ctrl+BackSpace 鎵嶈兘鍒犻櫎鍏夋爣宸﹁竟鐨勫唴瀹?..鐢ㄧ殑閭d釜涓嶄範鎯晩~~~錛侊紒錛?- -b

鍚庢潵闂埌 Wells 錛屽師鏉ュ彧闇瑕佸仛涓涓皬灝忕殑璁懼畾錛屽湪Console涓惎鐢細

  $set -o emasc 

鍘熷洜鍚庢潵涓婄綉鏌ヤ簡涓涓嬶紝鏆備笖寮曠敤涓涓嬨奆reeBSD浣跨敤澶у叏銆嬩腑鐨勪竴孌靛唴瀹癸細

-----------------------------------------------------------------------------------------------

閰嶇疆鐢ㄦ埗shell
銆銆浜嬪涓妔h鑸嘽sh錛屽茍涓嶆槸鏅氱敤鎴剁殑鏈浣抽伕鎿囷紝鍥犵偤閫欏叐鍊媠hell鍦ㄦ槗鐢ㄦф柟闈㈠仛鐨勪笉澶犲ソ錛屼緥濡傚懡浠よ綬?杓姛鑳戒笉寮楓佷笉鑳藉埄鐢ㄧ啽閸甸噸寰╁煼琛屽懡浠ょ瓑銆傝純鏂扮殑shell錛屽bash鍜宼csh閮藉叿鏈夐欎簺鏂逛究鐢ㄦ埗浣跨敤鐨勫姛鑳斤紝浣?蹇呴爤瀹夎浜嗛欎簺shell紼嬪簭涔嬪悗錛屾墠鑳芥洿鏀規櫘閫氱敤鎴剁殑shell璦疆浠ヤ嬌鐢ㄩ欎簺shell紼嬪簭銆傛洿鏀圭敤鎴剁殑shell 鍙互浣跨敤pw銆乿ipw鎴朿hsh銆?/p>

銆銆閫欏叐鍊媠hell鍒嗗垾閬電収sh鍜宑sh鐨勯ⅷ鏍鹼紝鍥犳鍠滃ソcsh棰ㄦ牸鐨勫彲浠ラ伕鎿噒csh錛岃屽枩姝h棰ㄦ牸鐨勯伕鎿?bash銆傞櫎浜嗛欏叐紼畇hell涔嬪錛岄倓鏈塳sh銆亃sh絳塻hell鍙緵閬告搰銆傚鏋滃皪鍏╃óshell娌掓湁鍋忓ソ錛屽彲浠?閬告搰bash錛屽畠鏄竴鍊婫NU杌熶歡錛屾瘮妯欏噯sh鍔熻兘寮峰ぇ鐨勫銆?/p>

銆銆浣跨敤浜嗛欏叐浜涘寮峰瀷shell涔嬪悗錛岀敤鎴跺氨鍙互浣跨敤shell鎻愪緵鐨勫懡浠よ綬ㄨ集鍔熻兘銆傛寜鐓х繏鎱g殑涓嶅悓錛屽彲浠ラ伕 鎿噕i棰ㄦ牸鐨勭法杓柟寮忔垨emacs棰ㄦ牸鐨勬柟寮忥紝緙虹渷鐐篹macs鏂瑰紡錛岄欑ó鏂瑰紡浣跨敤鏂瑰悜閸典締鍥炴函鍩瘋閬庣殑鍛戒護錛屽茍閫茶 淇敼錛岃寁i棰ㄦ牸浣跨敤瀛楁瘝鍛戒護浣滅法杓嵉錛屼緥濡備嬌鐢╤銆乯銆乲銆乴鍥涘嬮嵉渚嗙Щ鍕曞厜妯欙紝vi棰ㄦ牸鐨勫ソ铏曟槸涓嶄嬌鐢ㄥ熀鏈嵉鐩や箣 澶栫殑鎺у埗閸碉紝鍥犺屽彲浠ラ仼鐢ㄤ簬浠諱綍緄傜璦倷錛屽茍涓旈茶綬ㄨ集鏅傛墜涓嶉渶闆㈤枊鍩烘湰閸電洡錛岀啛綬存搷浣滀箣鍚庢渶鐐哄揩鎹楓俥macs棰ㄦ牸 姣旇搗vi棰ㄦ牸鏇撮仼鍚堝緸鍊嬩漢璦堢畻姍熻綁鍚慤nix鐨勪嬌鐢ㄨ呯殑緲掓叄銆俠ash, ksh ,zsh涓嬩嬌鐢ㄤ笅闈㈢殑鍛戒護鍦╡macs 棰ㄦ牸鍜寁i棰ㄦ牸鍒囨彌錛?/p>

銆銆bash$ set -o emacs

銆銆bash$ set -o vi

銆銆tcsh涓嬌鐢ㄤ笉鍚岀殑鍛戒護錛?/p>

銆銆% bind emacs

銆銆% bind vi

銆銆閭勫彲浠ョ偤甯哥敤鐨勫懡浠よō緗垾鍚嶏紝綈″寲鐢ㄦ埗杓稿叆錛屼緥濡傦細

銆銆bash$ alias ec=”echo This is a alias”

銆銆bash$ ec

銆銆This is a alias

銆銆shell鐢ㄤ簬鏂逛究鐢ㄦ埗鎿嶄綔鐨勫彟涓闋呰兘鍔涙槸鑷嫊瑁滃叏鍛戒護鎴栨枃浠跺悕鐨勫姛鑳斤紝鍥犵偤FreeBSD涓嬬殑鏂囦歡鍚嶅彲鑳藉緢 闀鳳紝灝囧畠鍊戝叏閮ㄨ幾鍏ユ瘮杓冮夯鐓┿備簨瀵︿笂鍙互杓稿叆閮ㄥ垎鍚嶅瓧錛岀劧鍚庢寜Tab閸碉紙鍦╲i棰ㄦ牸涓嬫槸閫g簩鍏╂鎸塃sc閸碉級錛宻hell 灝囪嚜鍕曡鍏ㄦ枃浠跺悕鐨勫墿浣欓儴鍒嗐傚鏋滃凡綞撹幾鍏ョ殑閫欓儴鍒嗗悕瀛椾笉鑳界⒑瀹氬叿楂旂殑鍛戒護鎴栨枃浠訛紝閭d箞shell鍙皣鑳界⒑瀹氱殑閮?鍒嗚涓婏紝鐒跺悗闊塊埓閫氱煡浣跨敤鑰呯辜綰岃幾鍏ヤ互鏄庣⒑鍏烽珨鐨勬枃浠躲?/p>

銆銆浜嬪涓婂嵆浣垮湪鍩烘湰鐨剆h鎴朿sh涓嬶紝涔熷彲浠ヤ嬌鐢?“*” 絳夌壒孌婂瓧絎︼紝鐢ㄦā寮忓尮閰嶇殑鏂瑰紡渚嗙啊鍖栬幾鍏ャ?/p>

銆銆bash$ cd /usr/loca*

銆銆bash$ pwd

銆銆/usr/local

銆銆Unix涓殑澶氭暩紼嬪簭閮藉叿鍌欐ā寮忓尮閰嶇殑铏曠悊鑳藉姏錛岃宻hell鐨勬ā寮忓尮閰嶅姛鑳芥渶鐐哄父鐢ㄣ俿hell鍙互浣跨敤閫?浜涚壒孌婃ā寮忎締閰嶇疆澶氬嬫枃浠訛紝閬斿埌綈″寲鎿嶄綔鐨勭洰鐨勩傚鏋滆鐔熺反鎺屾彙Unix錛屽繀闋堟帉鎻℃ā寮忓尮閰嶃?/p>

銆銆鐣惰│鍦栧湪bash涓嬭幾鍏ユ饑瀛楃殑鏅傚欙紝闄や簡蹇呴爤璦疆緄傜灞ц兘鎺ュ彈8浣嶅瓧絎︿箣澶栵紙鍩瘋stty pass8鍛戒護 錛夛紝閭勯渶瑕佽ō緗産ash鐨勮幾鍏ヨ幾鍑鴻綁鎻涳紝鍙互鍦ㄧ櫥閷勮叧鏈?profile鏂囦歡涓寘鎷互涓嬭ō緗細

銆銆bind 'set convert-meta off'

銆銆bind 'set meta-flag on'

銆銆bind 'set output-meta on'

 

鏈枃鏉ヨ嚜CSDN鍗氬錛岃漿杞借鏍囨槑鍑哄錛?a >http://blog.csdn.net/chenguoda/archive/2008/06/08/2524292.aspx



Prayer 2010-09-01 09:36 鍙戣〃璇勮
]]>
awk涓嬌鐢╯hell鐨勭幆澧冨彉閲?/title><link>http://m.shnenglu.com/prayer/archive/2010/08/26/124862.html</link><dc:creator>Prayer</dc:creator><author>Prayer</author><pubDate>Thu, 26 Aug 2010 10:26:00 GMT</pubDate><guid>http://m.shnenglu.com/prayer/archive/2010/08/26/124862.html</guid><wfw:comment>http://m.shnenglu.com/prayer/comments/124862.html</wfw:comment><comments>http://m.shnenglu.com/prayer/archive/2010/08/26/124862.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://m.shnenglu.com/prayer/comments/commentRss/124862.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/prayer/services/trackbacks/124862.html</trackback:ping><description><![CDATA[<strong>涓:"'$var'"<br><br></strong>榪欑鍐欐硶澶у鏃犻渶鏀瑰彉鐢?鎷搗awk紼嬪簭鐨勪範鎯?鏄佸甯哥敤鐨勫啓娉?濡?<br><br>var="test"<br><br>awk 'BEGIN{print "'$var'"}'<br><br>榪欑鍐欐硶鍏跺疄闄呮槸鍙屾嫭鍙峰彉涓哄崟鎷彿鐨勫父閲?浼犻掔粰浜哸wk.<br><br>濡傛灉var涓惈絀烘牸,涓轟簡shell涓嶆妸絀烘牸浣滀負鍒嗘牸絎?渚垮簲璇ュ涓嬩嬌鐢?<br><br>var="this is a test"<br><br>awk 'BEGIN{print "'"$var"'"}'<br><br><strong>浜?'"$var"'</strong><br><br>榪欑鍐欐硶涓庝笂涓縐嶇被浼?濡傛灉鍙橀噺鍚┖鏍?鍒欏彉涓?""$var""'杈冧負鍙潬.<br><br><strong>涓?鎶婃嫭璧穉wk紼嬪簭鐨?'鍙樹負"",浣跨敤"$var"</strong><br><br>濡?<br><br>$var="this is a test"<br><br>awk 'BEGIN{print "$var"}"<br><br>榪欐槸鍥犱負鍦?"閲?鏄壒孌婂瓧絎?鑰屽湪''閲?鏄櫘閫氬瓧絎?<br><br><strong>鍥?export 鍙橀噺,浣跨敤ENVIRON["var"]褰㈠紡,</strong><br><br>濡?<br><br>$var="this is a test";export $var<br><br>awk 'BEGIN{print ENVIRON["var"]}'<br><br><strong>浜?褰撶劧涔熷彲浠ヤ嬌鐢?v閫夐」</strong><br><br>濡?<br><br>$var="this is a test"<br><br>awk -vnvar="$var" '{print nvar}'<br><br>榪欐牱渚挎妸緋葷粺鍙橀噺瀹氫箟鎴愪簡awk鍙橀噺. <img src ="http://m.shnenglu.com/prayer/aggbug/124862.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/prayer/" target="_blank">Prayer</a> 2010-08-26 18:26 <a href="http://m.shnenglu.com/prayer/archive/2010/08/26/124862.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>鎶妔hell鍙橀噺浼犵粰awk鏈?縐嶆柟寮?/title><link>http://m.shnenglu.com/prayer/archive/2010/08/26/124860.html</link><dc:creator>Prayer</dc:creator><author>Prayer</author><pubDate>Thu, 26 Aug 2010 10:16:00 GMT</pubDate><guid>http://m.shnenglu.com/prayer/archive/2010/08/26/124860.html</guid><wfw:comment>http://m.shnenglu.com/prayer/comments/124860.html</wfw:comment><comments>http://m.shnenglu.com/prayer/archive/2010/08/26/124860.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://m.shnenglu.com/prayer/comments/commentRss/124860.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/prayer/services/trackbacks/124860.html</trackback:ping><description><![CDATA[<div>1.鍒╃敤shell cmdline鐨勭壒鎬?/div> <div>A=123</div> <div>awk '/^'"$A"'/ { print $2 }'</div> <div> </div> <div>涓婇潰鐨刢mdline涓紝shell鎶?/^'"$A"'/ { print $2 }'浣滀負awk鐨勭涓涓弬鏁幫紝榪欎釜'/^'"$A"'/ { print $2 }'鍙互鍒嗕負3灝忓潡</div> <div>錛?錛?/^'錛氬洜涓?^琚崟寮曞彿寮曡搗鏉ワ紝鎵浠hell浼犺繖涓皬閮ㄥ垎緇檃wk鏃跺欙紝浼犵殑鏄細/^</div> <div>錛?錛?$A"錛氬洜涓?A鏄鍙屽紩鍙峰紩璧鳳紝鎵浠hell浼犺繖涓皬閮ㄥ垎緇檃wk鏃跺欙紝鍏堟妸$A,鍋氱粰“鍙橀噺鏇挎崲”錛屾墍浠ヤ紶鐨勬槸錛?23</div> <div>錛?錛?/ { print $2 }'錛氬洜涓? { print $2 }琚崟寮曡搗鏉ワ紝鎵浠ヤ紶鐨勬槸錛? { print $2 }</div> <div> </div> <div>榪?涓皬閮ㄥ垎鍋氫負涓涓弬鏁頒紶緇檃wk錛屽悎璁?涓皬閮ㄥ垎錛岄偅涔堜紶鐨勫氨鏄?/div> <div>/^123/ { print $2 }</div> <div> </div> <div> </div> <div>2.浣跨敤-v鍙傛暟</div> <div>A=123</div> <div>awk -v B="$A" '/^B/ { print $2 }'</div> <div> </div> <div>3.pass variable settings into awk as "fake file names"</div> <div>awk '/^B/ { print $2 }' B="$A"</div> <img src ="http://m.shnenglu.com/prayer/aggbug/124860.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/prayer/" target="_blank">Prayer</a> 2010-08-26 18:16 <a href="http://m.shnenglu.com/prayer/archive/2010/08/26/124860.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>awk鐨刵ext浣跨敤 http://m.shnenglu.com/prayer/archive/2010/08/26/124779.htmlPrayerPrayerThu, 26 Aug 2010 02:35:00 GMThttp://m.shnenglu.com/prayer/archive/2010/08/26/124779.htmlhttp://m.shnenglu.com/prayer/comments/124779.htmlhttp://m.shnenglu.com/prayer/archive/2010/08/26/124779.html#Feedback0http://m.shnenglu.com/prayer/comments/commentRss/124779.htmlhttp://m.shnenglu.com/prayer/services/trackbacks/124779.html
next  鍙互綆鍗曠悊瑙d負璺寵繃鍚庨潰鐨勪唬鐮侊紝濡傛灉next琚墽琛岋紝閭d箞瀹冨悗闈㈢殑浠g爜灝遍兘涓嶄細琚墽琛屼簡銆?/td>


Prayer 2010-08-26 10:35 鍙戣〃璇勮
]]>
AWK楂樼駭緙栫▼http://m.shnenglu.com/prayer/archive/2010/08/26/124778.htmlPrayerPrayerThu, 26 Aug 2010 02:26:00 GMThttp://m.shnenglu.com/prayer/archive/2010/08/26/124778.htmlhttp://m.shnenglu.com/prayer/comments/124778.htmlhttp://m.shnenglu.com/prayer/archive/2010/08/26/124778.html#Feedback0http://m.shnenglu.com/prayer/comments/commentRss/124778.htmlhttp://m.shnenglu.com/prayer/services/trackbacks/124778.html1. 紼嬪簭鍏冪礌

涓涓猘wk 紼嬪簭鏄竴瀵逛互妯″紡(pattern) 涓庡ぇ鎷彿妗嗚搗鏉ョ殑鎿嶄綔(action) 緇勫悎鑰屾垚鐨勶紝鎴栬錛岃繕浼氬姞涓婂疄鐜版搷浣滅粏鑺傜殑鍑芥暟(function ) 銆傞拡瀵規瘡涓尮閰嶄簬杈撲漢鏁版嵁鐨勬ā寮忥紝鎿嶄綔浼氳鎵ц錛屼笖鎵鏈夋ā寮忛兘浼氶拡瀵規瘡鏉¤緭浜鴻褰曡屾鏌ャ傛ā寮忔垨鎿嶄綔鍙渷鐣ュ叾涓竴涓傚鏋滄ā寮忕渷鐣ワ紝鍒欐搷浣滃皢琚簲鐢ㄥ埌姣忔潯杈撲漢璁板綍; 濡傛灉鎿嶄綔鐪佺暐錛屽垯榛樿鎿嶄綔涓烘墦鍗板尮閰嶄箣璁板綍鍦ㄦ爣鍑嗚緭鍑轟笂銆備互涓嬫槸浼犵粺awk 紼嬪簭鐨勯厤緗?

pattern  {action} 濡傛ā寮忓尮閰嶏紝鍒欐墽琛屾搷浣?

pattern  {action} 濡傛ā寮忓尮閰嶏紝鍒欐墦鍗拌褰?

铏界劧錛屾ā寮忓鍗婃槸鏁板瓧鎴栧瓧絎︿覆琛ㄨ揪寮忥紝涓嶈繃awk 浠ヤ繚鐣欏瓧BEGIN 涓嶦ND 鎻愪緵涓ょ鐗規畩妯″紡銆?

涓嶣EG 宸 鍏寵仈鐨勬搷浣滃彧浼氭墽琛屼竴嬈★紝鍦ㄤ換浣曞懡浠よ鏂囦歡鎴栦竴鑸懡浠よ璧嬪艱澶勭悊涔嬪墠錛屼絾鏄湪浠諱綍寮澶寸殑涓V 閫夐」鎸囧畾宸茬粡瀹屾垚涔嬪悗銆?

END 鎿嶄綔涔熸槸鍙墽琛屼竴嬈★紝鐢ㄤ簬鎵鏈夎緭鍏ユ暟鎹凡琚鐞嗗畬涔嬪悗銆傚畠澶氬崐鐢ㄤ簬浜х敓鎽樿鎶ュ憡錛屾垨鏄墽琛屾竻闄ゆ搷浣溿?

BEGIN 涓嶦ND 妯″紡鍙互鏄換鎰忛『搴忥紝鍙互瀛樺湪浜巃wk 紼嬪簭鍐呯殑浠諱綍浣嶇疆銆備笉榪囷紝涓轟簡鏂逛究錛屾垜浠氬父灝咮EGIN 妯″紡鏀懼湪紼嬪簭鐨勭涓涓綅緗紝鑰屽皢END 妯″紡鏀懼湪鏈鍚庛?

2. 娉ㄩ噴涓庣┖鐧?

awk 閲岀殑娉ㄩ噴鏄粠# 寮濮嬪埌璇ヨ緇撴潫錛屽氨鍍忓湪Shell 閲岄偅鏍楓傜┖琛岀瓑鍚屼簬絀虹殑娉ㄩ噴銆?

3. 瀛楃涓蹭笌瀛楃涓茶〃杈懼紡

awk 瀛楃涓插寘鍚浂鑷沖涓瓧絎︼紝涓斿湪瀛楃涓茬殑闀垮害涓婃病鏈夐檺鍒訛紝瑙嗗彲鐢ㄥ唴瀛樿屽畾銆?

瀛楃涓茬殑姣旇緝錛岀敤鐨勬槸浼犵粺鐨勫叧緋昏繍綆楃錛?=( 鐩哥瓑) 銆?=( 涓嶇瓑) 銆?lt;( 灝忎簬) 銆?lt;=( 灝忎簬絳変簬) 銆?gt;( 澶т簬) 錛屼互鍙?gt;=( 澶т簬絳変簬銆嬨傛瘮杈冨悗榪斿洖l 涓虹湡錛? 涓哄亣銆傛瘮杈冧笉鍚岄暱搴︾殑瀛楃涓詫紝涓斿叾涓竴涓瓧絎︿覆涓哄彟涓涓殑鍒濆瀛愬瓧絎︿覆鏃訛紝杈冪煭鐨勪細瀹氫箟涓哄皬浜庤緝闀跨殑閭d釜錛屽洜姝わ紝“A ”< “AA ”鐨勫間負鐪熴?

awk 騫舵棤鐗規畩鐨勫瓧絎︿覆鎺ョ畫榪愮畻絎︺備篃灝辨槸璇達紝涓や釜榪炵畫瀛楃涓詫紝浼氳嚜鍔ㄥ湴榪炴帴鍦ㄤ竴璧楓備互涓嬫瘡涓緇勮祴鍊艱緗爣閲忓彉閲忋備負鐩稿悓鐨勫叿鏈夊洓涓瓧絎︾殑瀛楃涓?

s = “ABCD ”

s = “AB ”“CD ”

s = “A ”“B ”“CD ”

s = “A ”“B ”“C ”“D ”

瀛楃涓蹭笉闇瑕佹槸甯告暟錛屽鏋滄垜浠戶緇笂榪扮殑璧嬪?

t= s s s

鍒檛 鐨勫間負“ABCDABCDABCD “銆?

 

灝嗘暟瀛楄漿鎹負瀛楃涓詫紝閫氳繃鏁板瓧榪炴帴絀哄瓧絎︿覆鍗沖彲

n =123 錛?

鎺ョ潃鏄細

s = ““ n 錛屾妸鍊?#8220;123 ”璧嬬粰s 銆?

 

awk 鍔熻兘寮哄ぇ鐨勫湴鏂瑰ぇ澶氭潵鑷簬瀹冨姝e垯琛ㄨ揪寮忕殑鏀寔銆傛湁涓や釜榪愮畻絎︼細~( 鍖歸厤) 涓?~( 涓嶅尮閰? 璁゛wk 鏇村鏄撲嬌鐢ㄦ鍒欒〃杈懼紡錛?#8221;ABC ”~ ”^[A-Z]+$ “錛岀粨鏋滀負鐪熴?

4. 鏁板間笌鏁板艱〃杈懼紡

鎵鏈塧wk 閲岀殑鏁板瓧錛岄兘浠ュ弻綺劇‘搴︾殑嫻偣鍊艱〃紺恒傛誕鐐規暟鍙互鍖呭惈涓涓湯绔互瀛楁瘝e( 鎴朎) 鎵琛ㄧず鐨?0 嬈℃柟鎸囨暟浠ュ強鍙夊湴甯︽璐熷彿鐨勪竴涓暣鏁般備婦渚嬫潵璇?0.03125, 3.125e-2, 3125e-5 涓?.003125E1 錛屽悓鏍烽兘鏄〃紺?/32 銆傚洜涓篴wk 閲屾墍鏈夌畻鏈兘鏄誕鐐圭畻鏈?

awk 騫舵病鏈夋彁渚涘瓧絎︿覆杞暟瀛楃殑鍑芥暟錛屼笉榪嘺wk 鐨勫仛娉曞緢綆鍗曪細鍙鍔犱釜闆跺埌瀛楃涓查噷錛屼緥濡傦細s="123" 錛屾帴鐫鏄痭=0+s 錛屼究灝嗘暟瀛?23 璧嬪肩粰n 浜嗐?

5. awk 鐨勬暟鍊艱繍綆楃

琛? 涓錛歛wk 鐨勬暟鍊艱繍綆楃( 浼樺厛綰х敱澶у埌灝忔帓鍒?

榪愮畻絎?nbsp;                  璇存槑

  ++ --                    澧炲姞涓庡噺灝? 鍓嶇疆鎴栧悗緗?

  ^ **                     鎸囨暟( 鍙崇粨鍚堟?

  ! + -                     闈炪佷竴鍏?unary) 鍔犲彿銆佷竴鍏冨噺鍙?

  * / %                    涔樸侀櫎銆佷綑鏁?

  + -                      鍔犮佸噺

< <= == != > >=           姣旇緝

&&                         閫昏緫AND( 綆鍐?

||                        閫昏緫OR( 綆鍐?

?:                        涓夊厓鏉′歡寮?

= += -= *= /= %= ^= **=      璧嬪? 鍙崇粨鍚堟?

6. 鏍囬噺鍙橀噺

淇濆瓨鍗曚竴鍊肩殑鍙橀噺鍙仛鏍囬噺鍙橀噺銆?

a wk 鐨勫彉閲忓悕縐板繀欏諱互ACSII 瀛楁瘝鎴栦笅鍒掔嚎寮濮嬶紝鐒跺悗閫夋嫨鎬у湴鎺ヤ笂瀛楁瘝銆佷笅鍒掔嚎鍙婂瓧銆傚洜姝わ紝鍙橀噺鍚嶇О瑕佸尮閰嶆鍒欒〃杈懼紡[A-Za-z-][A-Za-z_0-9]* 銆傚彉閲忓悕縐板湪瀹為檯涓婂茍娌℃湁闀垮害鐨勯檺鍒躲俛wk 鐨勫彉閲忓悕縐版槸涓庡ぇ灝忓啓鏈夊叧鐨?foo, Fo 銆備笌FOO 鏄畬鍏ㄤ笉鍚岀殑涓変釜鍚嶇О銆備竴鑸嬌鐢ㄤ笂浠ュ強寤鴻鐢ㄦ硶鏄? 鍏繪垚涔犳儻錛屽皢灞閮ㄥ彉閲忓叏璁句負灝忓啓銆佸叏灞鍙橀噺絎竴涓瓧姣嶄負澶у啓錛岃屽唴寤哄彉閲忓垯鍏ㄦ槸澶у啓銆?

7. 鏁扮粍鍙橀噺

awk 鍏佽鍦ㄦ暟緇勫悕縐頒箣鍚庯紝浠ユ柟鎷彿灝嗕換鎰忔暟瀛楁垨瀛楃涓茶〃杈懼紡 鎷搗鏉ヤ綔涓虹儲寮曘備緥濡?

telephone["Alice"]= “555-0134"

telephone["Bob"]= “555-0135"

telephone["Carol”]= “555-0136"

telephone["Don"]= “555-0141"

浠ヤ換鎰忓間負绱㈠紩鐨勬暟緇勶紝縐頒箣涓哄叧鑱旀暟緇勶紝鍥犱負瀹冧滑鐨勫悕縐頒笌鍊兼槸鐩稿叧鑱旂殑銆傞噸瑕佺殑鏄紝awk 灝嗗叾搴旂敤浜庢暟緇勪腑錛屽厑璁告煡鎵? find ) 銆佹彃鍏?insert ) 浠ュ強鍒犻櫎( remove) 絳夋搷浣滐紝鍦ㄤ竴瀹氱殑鏃墮棿鍐呭畬鎴愶紝涓庡瓨鍌ㄥ灝戦」鐩棤鍏熾?

涓涓彉閲忎笉鑳藉悓鏃剁敤浣滄爣閲忓彉閲忓拰鏁扮粍鍙橀噺銆傚綋浣犲簲鐢╠elet 銆傝鍙ュ垹闄ゆ暟緇勭殑鍏冪礌

(element] 鐨勬椂鍊欙紝涓嶄細鍒犻櫎瀹冪殑鍚嶇О銆傚洜姝ゃ傚儚榪欐牱鐨勪唬鐮?

x[1]=3

delete x

x=789

浼氬紩鍙慳wk 鍙戝嚭鎻愮ず錛屽憡璇変綘涓嶅彲浠ョ粰鏁扮粍鍚嶇О璧嬪?

8. 鍛戒護琛屽弬鏁?

awk 閫氳繃鍐呭緩鍙橀噺ARGC( 鍙傛暟璁℃暟) 涓嶢RGV( 鍙傛暟鍚戦噺錛屾垨鍙傛暟鍊? 錛岃鍛戒護琛屽弬鏁?

鍙敤銆備笅闈㈢畝鐭殑紼嬪簭璇存槑鍏剁敤娉?

[root@local~]#cat showargs.awk

BEGIN{

      print ”ARGC= ”錛孉RGC

      for (k=0;k<ARGC; k++)

          print "ARGV[”k”]=[”ARGV[k] “

}

鍐嶆潵鐪嬬湅灝嗗畠鐢ㄥ湪涓鑸琣wk 鍛戒護琛屼笂錛屼細浜х敓浠涔堟牱鐨勭粨鏋?

[root@local~]# awk -v One=1 -v Two=2 -f showargs.awk Three=3 file1 Four=4 filet2 file3

ARGC=6

ARGV[0]=[awk]

ARGV[1]=[Three=3]

ARGV[2]=[file1]

ARGV[3]=[Four=4]

ARGV[4]=[file2]

ARGV[5]=[file3]

9. 鐜鍙橀噺

awk 鎻愪緵璁塊棶鍐呭緩鏁扮粍ENV 宸ON 涓墍鏈夌殑鐜鍙橀噺:

[root@local~]#awk 'BEGIN {print ENVIRON["HOME"];print ENVIRON["USER]} ‘

/home/Jones

hones

閫氬父浣犲簲灝咵NVIRON 鐪嬫垚鏄竴涓彧璇繪暟緇勩?

10. 妯″紡

妯″紡鐢卞瓧絎︿覆涓?/ 鎴栨暟鍊艱〃杈懼紡鏋勫緩鑰屾垚銆傚父鐢ㄧ殑妯″紡濡備笅錛?

NF==0    閫夊畾絀鴻褰?

NF>3     閫夊畾鎷ユ湁涓変釜瀛楁浠ヤ笂鐨勮褰?

NR<5    閫夊畾絎?1 鍒扮 4 鏉¤褰?

(FNR==3)&&(FILENAME~/[.] [ch]$/) 鏉ユ簮浜?C 婧愭枃浠朵腑閫夊畾璁板綍 3

$1~/Jones/   閫夊畾瀛楁 1 閲屾湁 . ” jones “鐨勮褰?

/[Xx][Mm][Ll]/ 閫夊畾鍚湁‘ 'XML' 銆傜殑璁板綍錛屽茍蹇界暐澶у皬鍐欏樊寮?

$0~/[Xx][Mm][Ll]/ 鍚屼笂

11. 鎿嶄綔

浠ユ渶綆鍗曠殑褰㈠紡鏉ヨ錛岀函print 鎰忔寚鍦ㄦ爣鍑嗚緭鍑轟笂錛屾墦鍗板綋鍓嶇殑杈撳叆璁板綍($0) 錛屾帴鐫鏄緭鍑鴻褰曞垎闅斿瓧絎?ORS 鐨勫鹼紝榛樿涓哄崟涓鎹㈣瀛楃銆傚洜姝わ紝涓嬮潰榪欎簺紼嬪簭鎵鍋氱殑鍏ㄦ槸鐩稿悓鐨勬搷浣?

1    妯″紡涓虹湡錛岄粯璁ゆ搷浣滀負鎵撳嵃

NR>0 {print} 鏈夎褰曟椂鎵撳嵃( 鎭掍負鐪?

1    {print}  妯″紡涓虹湡銆傚垯鎵撳嵃錛岃繖鏄粯璁ゅ?

{print}  鏃犳ā寮忓垯瑙嗕負鐪燂紝鏄庣‘鐨勬墦鍗幫紝榪欐槸榛樿鍊?

{print $0}  鐩稿悓錛屼絾鎵撳嵃鏄庣‘鐨勫?

涓嬮潰鐨勪緥瀛愬凡緇忔槸瀹屾暣鐨刟wk 紼嬪簭銆傚湪姣忎竴涓腑錛屾垜浠兘鍙樉紺哄墠涓変釜杈撳叆瀛楁錛屽茍閫氳繃鐪佺暐閫夊畾妯″紡錛岄夊畾鎵鏈夌殑璁板綍銆俛wk 紼嬪簭璇彞浠ュ垎鍙峰垎闅旓紝鑰屼笖鎴戜滑浼氫嬌鐢ㄤ簺鐣ュ井涓嶅悓鐨勬搷浣滀唬鐮侊紝浠ヤ慨鏀硅緭鍑哄瓧孌靛垎闅斿瓧絎?

[root@local~]#echo ‘one two three four'| awk ‘{print $1,$2,$3}’

one two three

[root@local~]#echo ‘one two three four'| awk ‘{OFS=”…”;print $1,$2,$3}’

one…two…three

[root@local~]#echo ‘one two three four'| awk ‘{OFS=”\n”;print $1,$2,$3}’

one

two

three

 

鏀瑰彉杈撳嚭瀛楁鍒嗛殧瀛楃鑰屾病鏈夋寚瀹氫換浣曞瓧孌碉紝涓嶄細鏀瑰彉$0:

[root@local~]#echo ‘one two three four'| awk ‘{OFS=”\n”;print $0}’

one two three four

涓嶈繃錛屽鏋滄垜浠洿鏀硅緭鍑哄瓧孌靛垎闅斿瓧絎︼紝騫舵寚瀹氳嚦灝戜竴涓瓧孌? 鍗充嬌鎴戜滑鏈彉鏇村叾鍊? 錛?

寮哄埗浠ユ柊鐨勫瓧孌靛垎闅斿瓧絎﹂噸鏂扮粍鍚堣褰曪紝鍒欑粨鏋滀負:

[root@local~]#echo ‘one two three four'| awk ‘{OFS=”\n”;$1=$1;print $0}’

one

two

three

four

 

12. 鍦╝wk 涓殑鍗曡紼嬪簭

1.UNIX 鍗曡瘝璁℃暟紼嬪簭wc;

[root@local~]#awk ‘{C+=length($0)+1;w+=NF} END {print NR, W, C}’

 

2. 鎾囧紑NUL 瀛楃闂錛宎wk 鍏跺疄鍙互杞繪澗鍙栦唬cat 錛屼笅闈㈣繖涓や釜渚嬪瓙浼氫駭鐢熺浉鍚岃緭鍑?

[root@local~]# cat*.xml

[root@local~]# awk 1*.xml

 

3. 瑕佸皢鍘熷鏁版嵁鍊煎強瀹冧滑鐨勫鏁版墦鍗頒負鍗曟爮鐨勬暟鎹枃浠訛紝鍙嬌鐢?

[root@local~]# awk ‘{print $1, log($1)}’file(s)

 

4. 鍦ㄤ互絀虹櫧鍒嗛殧瀛楁鐨勮〃鏍間腑錛屾姤鍛婄n 鏍忕殑鍜?

[root@local~]# awk -v COLUMN=n ‘{sum+=$COLUMN} END {print sum} ’file (s)

 

5. 寰皟涓婅堪鎶ュ憡錛屼駭鐢熷瓧孌祅 鐨勫鉤鍧囧?

[root@local~]# awk -v COLUMN=n ‘{sum+=$COLUMN} END {print sum/NR } ’file (s)

6. 閽堝鑺辮垂鏂囦歡( 鍏惰褰曞寘鍚弿榪頒笌閲戦浜庢渶鍚庝竴涓瓧孌? 錛屾墦鍗拌姳璐規繪暟銆傚彲浣跨敤鍐呭緩鍙橀噺NF 璁$畻鎬誨?

[root@local~]# awk’{sum+=$NF; print $0, sum}’files)

 

7. 榪欓噷鏄笁縐嶆煡鎵炬枃浠跺唴鏂囨湰鐨勬柟寮?

[root@local~]#egrep ‘pattern|pattern’ file (s)

[root@local~]#awk ‘/pattern|pattern/’file (s)

[root@local~]#awk ‘/pattern}pattern/ {print FILENAME ”: ”FNR ”: ”$0} ’file(s)

 


8. 濡傛灉浣犺闄愬埗浠呮煡鎵?00 涓150 琛岋紝鍙互閫氳繃涓や釜宸ュ叿紼嬪簭錛屽啀鎼厤綆¢亾錛屼笉榪囪繖涔堝仛浼氭紡鎺変綅緗俊鎭?

[root@local~]#sed -n -e 100,150p -s file(s) | egrep 'pattern'

浣跨敤GNU sed 瑕佹惌閰?s 閫夐」錛屾墠鑳戒負姣忎釜鏂囦歡閲嶆柊寮濮嬭緙栧彿銆傚彟澶栵紝浣犱篃鍙互閫氳繃awk 錛屼嬌鐢ㄦ瘮杈冭姳鍝ㄧ殑妯″紡鏉ュ仛:

[root@local~]#awk ‘(100<=FNR) && (FNR <= 150) && /pattern/\

          {print FILENAME ”:” FNR ”:”$0}’file(s)

9. 瑕佸湪涓涓洓鏍忚〃鏍奸噷錛岃皟鎹㈢浜屼笌絎笁鏍忥紝鍋囪瀹冧滑鏄互鍒惰〃瀛楃鍒嗛殧錛岄偅涔堝彲浠?

浣跨敤涓嬮潰涓夌鏂瑰紡鐨勫叾涓竴縐?

[root@local~]#awk -F'\t’-v OFS='\t’{print $1, $3, $2, $4}’old > new

[root@local~]#awk ‘BEGIN{FS=OFS="\t"}{print $1, $3 錛?2 錛?4} ’old>new

[root@local~]#awk –F ‘\t’{print $1"\t" $3"\t" $2"\t" $4}’old>new

 

10. 瑕佸皢鍚勬爮鍒嗛殧瀛楃鐢卞埗琛ㄥ瓧絎? 鍦ㄦ浠?#183;鏄劇ず) 杞崲鎴?amp; 錛屽彲鍦ㄤ互涓嬩袱縐嶆柟寮忔嫨涓:

[root@local~]#sed -e 's/ ·/&/g' file(s)

[root@local~]#awk ‘{BEGIN{FS="\t";OFS= “& ”}{$1=$1; print} ’file(s)

 

11. 涓嬮潰榪欎袱涓閬擄紝閮戒負鍒犻櫎宸叉帓搴忔祦閲岀殑閲嶅琛?

[root@local~]#sort file(s)|uniq

[root@local~]# sort file(s)|awk ‘Last!=$0 { print }{Last=$0}’

 

12. 灝嗗洖杞﹀瓧絎? 鎹㈣瀛楃鐨勮緇堢粨錛屼竴鑷磋漿鎹負浠ユ崲琛屽瓧絎︿綔涓鴻緇堢粨錛屽彲鍦ㄤ笅鍒楁柟

寮忎腑閫夋嫨涓縐?

[root@local~]#sed –e ‘s/\r$//’ file(s)

[root@local~]#sed –e ‘s/^M$//’ file(s)

[root@local~]# mawk ‘BEGIN {RS=“\r\n"} {print}’file(s)

 

13. 瑕佸皢鍗曠┖鏍肩殑鏂囨湰琛岋紝杞崲涓哄弻絀烘牸鐨勮錛屽彲鍦ㄤ笅鍒楁柟寮忛夋嫨涓縐?

[root@local~]#sed –e ‘/s/$/\n/ ’file(s)

[root@local~]#awk ‘BEGTN{ ORS = "\n\n"){print}’file(s)

[root@local~]#awk ‘BEGIN{ ORS="\n\n" }1 ’ file(s)

[root@local~]#awk {print $0 “\n”} ’ file(s)

[root@local~]#awk ‘{print;print ” ”} ’ file(s)

13. 璇彞

13.1. 鏉′歡璇彞

if(expressionl)

      stateme 鍒t1

else if(expression2)

      statement2

else if(expression3)

      statement3

else if(expressionk)

      statementk

else

        statementk+l

13.2. 閲嶅鎵ц

awk 鎻愪緵浜?4 縐嶉噸澶嶆墽琛岃鍙?( 寰幆 ):

1. 寰幆鍦ㄨ搗濮嬪浣跨敤緇撴潫嫻嬭瘯 :

while(expression)

statement

2. 寰幆鍦ㄧ粨灝懼浣跨敤緇撴潫嫻嬭瘯 :

do

        statement

while (expression)

3. 寰幆鎵ц鍙鏁扮殑嬈℃暟 :

for(expr1;expr2; expr3)

statement

4. 寰幆澶勭悊鍏寵仈鏁扮粍閲岀殑鍏冪礌 :

for(key in array)

statement

渚嬪錛?

for 錛坣ame in telephone)

print name“\t" telephone[name]

13.3 鏁扮粍鎴愬憳嫻嬭瘯

鎴愬憳嫻嬭瘯key in array 鏄竴涓〃杈懼紡: 濡傛灉key 涓篴rray 鐨勪竴涓儲寮曞厓绱狅紝鍒欒綆椾負1( 鐪? 銆傚鏋渒ey 涓嶆槸array 鐨勪竴涓儲寮曞厓绱狅紝鍒?(key in array) 涓? 銆?

瀵逛簬鍏鋒湁澶氫笅鏍?subscript) 鐨勬暟緇勶紝鍦ㄦ祴璇曟椂錛岃浣跨敤鍦嗘嫭鍙鳳紝騫朵互閫楃偣鍒嗛殧涓嬫爣鍒楄〃:(i 錛宩 錛?#8230;錛宯)in array

鎴愬憳嫻嬭瘯涓嶅彲鑳藉緩绔嬫暟緇勫厓绱狅紝鐒惰屽紩鐢ㄥ厓绱犳椂錛屽鏋滃厓绱犱笉瀛樺湪錛屼究浼氬緩绔嬪畠銆傚洜姝や綘搴旇榪欎箞鍐?

if("Sally" in telephone)

print "Sally is in the directory"

鑰岄潪:

if (telephone["Sally"]!= ””)

    print "Sally is in the directory"

鍥犱負絎簩縐嶅艦寮忎細鍦ㄥス(Sally) 涓嶅瓨鍦ㄦ椂錛屽皢鍏跺姞鍏ュ埌鐩綍閲岋紝騫舵嫢鏈変竴涓┖鐢佃瘽鍙風爜銆?

閲嶇偣鏄? 浣犲繀欏昏兘澶熷尯鍒嗗鎵劇儲寮?index) 涓庡鎵劇壒瀹氬?value) 鐨勫樊寮傘傜儲寮曟垚鍛樻祴璇曢渶瑕佸浐瀹氱殑鏃墮棿錛岃屽肩殑鏌ユ壘鏃墮棿鏄笌鏁扮粍閲屽厓绱犵殑涓暟鎴愭姣旓紝榪欑偣鎴戜滑鍦ㄥ厛鍓嶅凡閫氳繃break 璇彞鍐呯殑for 寰幆瑙i噴榪囦簡銆傚鏋滀綘闇瑕佹椂甯哥敤鍒拌繖涓ょ榪愮畻錛岄偅涔堟瀯寤哄弽绱㈠紩鏁扮粍浼氭瘮杈冨疄鐢?

for (name in telephone)

name_by_telephone[telephone[name]]=name

鎺ヤ笅鏉ワ紝浣犲氨鍙互浣跨敤name_by_telephone ["555-0136"] 鍦ㄤ竴瀹氭椂闂村唴鎵懼埌”Carol" 銆傚綋鐒訛紝榪欓噷鍋囧畾鎵鏈夌殑鍊兼槸鍞竴鐨? 濡傛灉榪欎袱浜哄叡浜悓涓涓數璇濓紝鍒檔ame_by_telephone 鏁扮粍鍙細璁板綍鏈鍚庝竴涓悕縐般傚彧瑕佺◢鍋氫慨鏀瑰氨鑳借В鍐寵繖涓棶棰?

for (name in telephone)

{

      if (telephone[name] in name_by_telephone)

        name_by_telephone[telephone[name]]=\

              name_by_telephone [telephone[name]) “\t”name

e1se

name_by_telephone[telephone[name]]=name

鐜板湪錛宯ame_by_telephone 鍗沖寘鍚簡浠ュ埗琛ㄥ瓧絎﹀垎闅旂殑鍏鋒湁鐩稿悓鐢佃瘽鍙風爜鐨勪漢鍚嶅垪琛ㄣ?

14. 鐢ㄦ埛鎺у埗杈撳叆

awk 涔熷彲浠ラ氳繃鐨刧etline 璇彞鍋氳繖浠朵簨銆俫etline 浼氳繑鍥炰竴涓鹼紝褰撹緭鍏ヨ鎴愬姛璇誨彇鏃訛紝瀹冪殑榪斿洖鍊間負++I 錛岃岃繑鍥炲間負0 鏃訛紝鍒欒〃紺哄湪鏂囦歡緇撳熬錛岃?1 鍒欒〃紺洪敊璇傚畠鐨勭敤娉曞緢澶氾紝瑙佽〃銆?

璇硶             璇存槑

getline       浠庡綋鍓嶈緭鍏ユ枃浠朵腑錛岃鍙栦笅涓鏉¤褰曪紝瀛樺叆$0 錛屽茍鏇存柊NF, NR 涓嶧NR

getline var   浠庡綋鍓嶈緭鍏ユ枃浠朵腑錛岃鍙栦笅涓鏉¤褰曪紝瀛樺叆var 錛屽茍鏇存柊NR 涓嶧NR

getline<file   浠巉ile 鏂囦歡涓紝璇誨彇涓嬩竴鏉¤褰曪紝瀛樺叆$0 錛屽茍鏇存柊NF, NR 涓嶧NR

getline var<file 浠巉ile 鏂囦歡涓紝璇誨彇涓嬩竴鏉¤褰曪紝瀛樺叆var 錛屽茍鏇存柊NF, NR 涓嶧NR

cmd|getline    浠庡閮ㄥ懡浠md 璇誨彇涓嬩竴鏉¤褰曪紝瀛樺叆$0 錛屽茍鏇存柊NF

cmd|getline var 浠庡閮ㄥ懡浠md 璇誨彇涓嬩竴鏉¤褰曪紝瀛樺叆var

 


鍛戒護綆¢亾鍦╝wk 閲屽彲浠ュ彂鎸ュ己澶х殑鍔熻兘銆傜閬撳彲浠ュ湪瀛楃瀛楃涓蹭腑鏍囨槑錛屼篃鍙互鍖呭惈浠?

鎰忕殑Shell 鍛戒護銆傝繖閲屾槸涓巊etline 鎼厤浣跨敤錛屽涓?

"date" I getline now

close("date")

print "The current time is".now

 

鎺ヤ笅鏉ヨ鏄庣殑鏄? 濡備綍鍦ㄥ驚鐜噷浣跨敤鍛戒護綆¢亾:

command="head -n 15 /etc/hosts"

while((command I getline s)>0)

      print s

close(command)

 

15. 鎵ц澶栭儴紼嬪簭

榪欓噷鏄В鍐崇數璇濆悕褰曟帓搴忛棶棰樿緝鐭殑紼嬪簭鏂規錛屼嬌鐢ㄤ復鏃舵ф枃浠朵笌systemty 錛岃岄潪awk 綆¢亾:

tmpfile= “/tmp/telephone.tmp^

for (name in telephone>

print name "\t" telephone[name]>tmpfile

close(tmpfilej

system("sort < tmpfile “)

涓存椂鎬ф枃浠跺繀欏誨湪璋冪敤system() 涔嬪墠鍏抽棴錛屼互紜繚浠諱綍緙撳啿鍖鴻緭鍑洪兘姝g‘鍦拌褰曞湪鏂囦歡鍐呫?

瀵逛簬琚玸ystem() 鎵ц鐨勫懡浠ゅ茍涓嶉渶瑕佽皟鐢╟lose() 錛屽洜涓篶lose() 浠呴拡瀵逛互I/O 閲嶅畾鍚戣繍綆楃鎵鎵撳紑鐨勬枃浠舵垨綆¢亾錛岃繕鏈塯etline, print 鎴杙rintf 銆?

浼犻掔粰system[f 鐨勫懡浠ゅ彲鍖呭惈鏁拌

system("cat <<EOFILE\nuno\ndos\ntres\nEOFILE"

瀹冧駭鐢熺殑杈撳嚭鍜屼粠宓屽叆鏂囦歡澶嶅埗鍒版爣鍑嗚緭鍑轟竴鏍?

Un0

das

tres

16. 鐢ㄦ埛鑷畾涔夊嚱鏁?

鍑芥暟瀹氫箟濡備笅:

function name(argl, }rg2, …錛宎rgn

{

statements

}

鎸囧畾鐨勫弬鏁板湪鍑芥暟浣撲腑鐢ㄦ潵褰撲綔灞閮ㄥ彉閲忥紝瀹冧滑浼氶殣钘忎換浣曠浉鍚屽悕縐扮殑鍏ㄥ眬鎬у彉閲忋傚嚱鏁頒篃鍙敤浜庣▼搴忓畠澶勶紝璋冪敤鐨勫艦寮忎負:

name(exprl, expr2, …錛宔xpn)  蹇界暐浠諱綍鐨勮繑鍥炲?

result=name(exprl, expr2, …錛宔xprn) 灝嗚繑鍥炲煎瓨鍌ㄥ埌result 涓?

 

鍦ㄦ瘡涓皟鐢ㄧ偣涓婄殑琛ㄨ揪寮忥紝閮芥彁渚涘垵濮嬪肩粰鍑芥暟鍙傛暟鍨嬪彉閲忋備互鍦嗘嫭鍙鋒璧鋒潵鐨勫弬鏁幫紝蹇呴』绱ф帴浜庡嚱鏁板悕縐頒箣鍚庯紝涓棿娌℃湁浠諱綍絀虹櫧銆?

瀵規爣閲忓弬鏁版墍鍋氱殑鍙樺姩錛岃皟鐢ㄨ呮棤浠庡緱鐭ワ紝涓嶈繃瀵規暟緇勭殑鍙樺姩灝卞彲鐪嬭浜嗐傛崲鍙ヨ瘽璇達紝鏍囬噺涓轟紶鍊?by vaule ) 錛岃屾暟緇勫垯涓轟紶寮曠敤(by reference): 榪欏C 璇█涔熸槸榪欐牱銆?

鍑芥暟浣撻噷鐨剅eturn expression 璇彞浼氱粓姝富浣撶殑鎵ц錛屽茍灝唀xpression 鐨勫間笌鎺у埗鏉冧紶緇欒皟鐢ㄧ偣銆傚鏋渆xpression 鐪佺暐錛屽垯榪斿洖鍊肩敱瀹炵幇鏈熷畾涔夈傛垜浠祴璇曡繃鐨勬墍鏈夌郴緇燂紝榪斿洖鐨勪笉鏄暟瀛楅浂灝辨槸絀哄瓧絎︿覆銆?

17. 瀛楃涓插嚱鏁?

17.1. 瀛愬瓧絎︿覆鎻愬彇

鎻愬彇瀛愬瓧絎︿覆鐨勫嚱鏁?substr(string, start, 1en) 錛屼細榪斿洖涓浠界敱string 鐨剆tart 瀛楃寮濮嬶紝鍏眑en 涓瓧絎﹂暱搴︾殑瀛愬瓧絎︿覆鍓湰銆傚瓧絎︾殑浣嶇疆錛屼粠1 寮濮嬬紪鍙?substr("abcde", 2, 3) 灝嗚繑鍥炪俠cd" 銆?len 鍙傛暟鍙渷鐣ワ紝鐪佺暐鏃訛紝鍒欓粯璁や負length(string)-start+1 錛岄夊嚭瀛楃涓茬殑鍓╀綑閮ㄥ垎銆?

17.2. 瀛楃涓插ぇ灝忓啓杞崲

tolower(string) 浼氳繑鍥炲皢鎵鏈夊瓧姣嶆敼涓哄悓涔夌殑灝忓啓鐨剆tring 鍓湰錛岃宼oupper(string) 鍒欒繑鍥炶鏀逛負澶у啓瀛楁瘝鐨剆tring 鍓湰銆傛墍浠olower("aBcDeF123") 榪斿洖”abcdef123",toupper("aBcDeF123") 榪斿洖"ABCDEF123" 銆?

17.3. 瀛楃涓插ぇ灝忓啓杞崲

index(string,  find) 鏌ユ壘string 閲屾槸鍚︽湁瀛楃涓瞗ind 錛岀劧鍚庤繑鍥瀞tring 閲宖ind 瀛楃涓茬殑璧峰浣嶇疆錛屽鏋滃湪string 閲屾壘涓嶅埌find 錛屽垯榪斿洖0 銆備緥濡俰ndex("abcdef","de") 浼氳繑鍥? 銆?

17.4. 瀛楃涓插尮閰?

match 錛坰tring, regexp) 灝唖tring 涓庢鍒欒〃杈懼紡regexp 鍖歸厤錛屽鏋滃尮閰嶏紝鍒欒繑鍥?

鍖歸厤string 鐨勭儲寮曪紝涓嶅尮閰嶏紝鍒欒繑鍥? 銆傝繖縐嶆柟寮忔彁渚涗簡姣旇〃杈懼紡(string~regexp) 榪樺鐨勪俊鎭紝鍚庤呭彧鑳藉緱鍒拌綆楀? 鎴? 銆傚彟澶杕atch ( ) 涔熷叿鏈変竴涓湁鐢ㄧ殑鍓綔鐢? 瀹冧細灝嗗叏灞鍙橀噺RSTART 璁句負鍦╯tring 涓寮濮嬪尮閰嶇殑绱㈠紩鍊鹼紝鑰屽皢RLENGTH 璁句負瑕佸尮閰嶇殑闀垮害銆傝屽尮閰嶅瓙瀛楃涓插垯浠ubstr(string, RSTART, RLENGTH) 琛ㄧず銆?

17.5. 瀛楃涓叉浛鎹?

awk 鍦ㄥ瓧絎︿覆鏇挎崲鍔熻兘涓婏紝鎻愪緵涓や釜鍑芥暟:sub(regexp, replacement, target) 涓巊sub(regexp, replacement, target), sub() 灝唗arget 涓庢鍒欒〃杈懼紡regexp 榪涜鍖歸厤錛屽皢鏈宸﹁竟鏈闀跨殑鍖歸厤閮ㄥ垎鏇挎崲涓哄瓧絎︿覆replacement 銆俫sub() 鐨勮繍琛屽垯鏈夌偣綾諱技錛屼笉榪囧畠浼氭浛鎹㈡墍鏈夊尮閰嶇殑瀛楃涓? 鍓嶇疆g 琛ㄧずglobal 鍏ㄥ眬涔嬫剰) 銆?

17.6. 瀛楃涓叉浛鎹?

awk 閽堝褰撳墠杈撲漢璁板綍$0 鑷姩鎻愪緵浜嗘柟渚跨殑鍒嗗壊涓哄瓧1,  $}, …銆?NF 錛屼篃鍙互鍑芥暟鏉ュ仛:split(string, array, regexp) 灝唖tring 鍒囧壊涓虹墖孌碉紝騫跺瓨鍌ㄥ埌array 閲岀殑榪炵畫鍏冪礌銆傚湪鏁扮粍閲岋紝鐗囨鏀劇疆鍦ㄥ尮閰嶆鍒欒〃杈懼紡regexp 鐨勫瓙瀛楃涓蹭箣闂淬傚鏋渞egexp 鐪佺暐錛屽垯浣跨敤鍐呭緩瀛楁鍒嗛殧瀛楃FS 鐨勫綋鍓嶉粯璁ゅ箋傚嚱鏁頒細榪斿洖array 閲岀殑鍏冪礌鏁伴噺銆?

17.7. 瀛楃涓查噸寤?

join() 鍙‘淇濆弬鏁版暟緇勪笉浼氳寮曠敤鍒幫紝闄ら潪绱㈠紩鏄湪鑼冨洿涔嬪唴銆傚惁鍒欙紝涓涓叿鏈夋暟緇勯暱搴︿負0 鐨勮皟鐢ㄥ彲鑳戒細寤虹珛arrayfl3 錛岃屼慨鏀逛簡璋冪敤鑰呯殑鏁扮粍銆傛彃浜虹殑瀛楁鍒嗛殧瀛楃涓烘櫘閫氬瓧絎︿覆錛岃岄潪姝e垯琛ㄨ揪寮忥紝鎵浠ラ拡瀵逛紶閫掔粰split() 鐨勪竴鑸鍒欒〃杈懼紡錛宩oin() 涓嶄細閲嶅緩綺劇‘鐨勫師濮嬪瓧絎︿覆銆?

17.8. 瀛楃涓叉牸寮忓寲

鏈鍚庝竴涓笌瀛楃涓茬浉鍏崇殑鍑芥暟鏄湪鐢ㄦ埛鎺у埗涓嬫牸寮忓寲鏁板瓧涓庡瓧絎︿覆:sprintf (format,expression1, expression2, …) 錛屽畠浼氳繑鍥炲凡鏍煎紡鍖栫殑瀛楃涓蹭綔涓哄叾鍑芥暟鍊箋俻rintf() 鐨勮繍琛屾柟寮忎篃鏄繖鏍鳳紝鍙笉榪囧畠浼氬湪鏍囧噯杈撳嚭鎴栭噸瀹氬悜鐨勬枃浠朵笂鏄劇ず鏍煎紡鍖栧悗鐨勫瓧絎︿覆錛岃屼笉鏄繑鍥炲叾鍑芥暟鍊箋傝緝鏂扮殑紼嬪簭璇█浠ユ洿寮哄ぇ鐨勬牸寮忓寲鍑芥暟鏉ュ彇浠f牸寮忔帶鍒跺瓧絎︿覆錛屼絾鐩稿鑰岃█璁╀唬鐮佸彉寰楀緢鍐楅暱銆傛寜鐓т紶緇熺殑鏂囨湰澶勭悊搴旂敤鏉ヨ錛宻printf 涓巔rintf

18. 鏁板煎嚱鏁?

鍑芥暟           璇存槑

atan2(y, x)   y 榪斿洖y/x 鐨勫弽姝e垏錛屽間粙浜?pai 涓?pai 涔嬮棿銆?

cos(x)        榪斿洖x 鐨勪綑寮﹀? 浠ュ姬搴?radians) 璁$畻) 錛岃鍊間粙浜?1 涓?1 涔嬮棿

exp(x)        榪斿洖x 鐨勬寚鏁幫紝ex,

int(x)        榪斿洖x 鐨勬暣鏁伴儴鍒嗭紝鎴幓鍓嶇疆鐨?

log(x)        榪斿洖x 鐨勮嚜鐒跺鏁般?

rand()        榪斿洖騫沖潎鍒嗗竷鐨勮櫄鎷熼殢鏈簉,O<=r<l

sin(x)        榪斿洖x 鐨勬寮﹀? 浠ュ姬搴?radians] 璁$畻) 錛岃鍊間粙浜?1 涓?1 涔嬮棿

sqrt(x)       榪斿洖x 鐨勫鉤鏂?

srand(x)      璁劇疆铏氭嫙闅忔満浜х敓鍣ㄧ殑縐嶅瓙涓簒 錛屽茍榪斿洖姝g‘鐨勭瀛愩傚鏋滅渷鐣 錛屽垯浣跨敤褰撳墠鏃墮棿( 浠ョ璁? 銆傚鏋溿俽and ( ) 鏈璋冪敤錛屽垯awk 鍦ㄦ瘡嬈℃墽琛屾椂浼氫粠鐩稿悓鐨勯粯璁ょ瀛愬紑濮?mawk 鍒欎笉浼氥?


鏈枃鏉ヨ嚜CSDN鍗氬錛岃漿杞借鏍囨槑鍑哄錛?a >http://blog.csdn.net/wzhwho/archive/2010/04/21/5513791.aspx



Prayer 2010-08-26 10:26 鍙戣〃璇勮
]]>
awk涓嬌鐢ㄧ殑shell鍛戒護http://m.shnenglu.com/prayer/archive/2010/08/25/124714.htmlPrayerPrayerWed, 25 Aug 2010 10:53:00 GMThttp://m.shnenglu.com/prayer/archive/2010/08/25/124714.htmlhttp://m.shnenglu.com/prayer/comments/124714.htmlhttp://m.shnenglu.com/prayer/archive/2010/08/25/124714.html#Feedback0http://m.shnenglu.com/prayer/comments/commentRss/124714.htmlhttp://m.shnenglu.com/prayer/services/trackbacks/124714.htmlawk涓嬌鐢ㄧ殑shell鍛戒護錛屾湁2縐嶆柟娉曪細

涓銆備嬌鐢ㄦ墍浠ystem錛堬級

awk 'BEGIN {system("echo \"Input your name:\\c\""); getline d;print "\nYour name is",d,"\b!\n"}'

鐢紙""錛夊拰\"   \"   \\杞箟銆?/p>

 

system - execute a shell command 錛堬級閲岄潰鎺ュ叆鍛戒護

awk紼嬪簭涓垜浠彲浠ヤ嬌鐢╯ystem() 鍑芥暟鍘昏皟鐢╯hell鍛戒護
濡傦細awk 'BEGIN{system("echo abc")}' file
echo abc 灝變細鍋氫負“鍛戒護琛?#8221;錛岀敱shell鏉ユ墽琛岋紝鎵浠ユ垜浠細寰楀埌浠ヤ笅緇撴灉錛?br>

root@ubuntu:~# awk 'BEGIN{system("echo abc")}'
abc
root@ubuntu:~#


root@ubuntu:~# awk 'BEGIN{v1="echo";v2="abc";system(v1" "v2)}'
abc
root@ubuntu:~#


root@ubuntu:~# awk 'BEGIN{v1="echo";v2="abc";system(v1 v2)}'
/bin/sh: echoabc: command not found
root@ubuntu:~#


root@ubuntu:~# awk 'BEGIN{v1=echo;v2=abc;system(v1" "v2)}'
root@ubuntu:~#

浠庝笂闈㈢殑渚嬪瓙錛屾垜浠畝鍗曠殑鍒嗘瀽涓涓媋wk鏄庢牱璋冪敤system鐨勶細
濡傛灉system錛堬級鎷彿閲岄潰鐨勫弬鏁版病鏈夊姞涓婂弻寮曞彿鐨勮瘽錛宎wk璁や負瀹冩槸涓涓彉閲忥紝瀹冧細浠巃wk鐨勫彉閲忛噷闈㈡妸瀹冧滑鍏堢疆鎹負甯擱噺錛岀劧鍚庡啀鍥炰紶緇檚hell

濡傛灉system錛堬級鎷彿閲岄潰鐨勫弬鏁版湁鍔犱笂鍙屽紩鍙風殑璇濓紝閭d箞awk灝辯洿鎺ユ妸寮曞彿閲岄潰鐨勫唴瀹瑰洖浼犵粰shell錛屼綔涓簊hell鐨?#8220;鍛戒護琛?#8221;

浜屻備嬌鐢╬rint cmd | “/bin/bash”

root@ubuntu:~# awk 'BEGIN{print "echo","abc"| "/bin/bash"}'
abc
root@ubuntu:~#

root@ubuntu:~# awk 'BEGIN{print "echo","abc",";","echo","123"| "/bin/bash"}'
abc
123
root@ubuntu:~#


涓夈傛葷粨

鏃犺浣跨敤system錛堬級榪樻槸print cmd | “/bin/bash”
awk閮芥槸鏂板紑涓涓猻hell錛屽湪鐩稿簲鐨刢mdline鍙傛暟閫佸洖緇檚hell錛屾墍浠ヨ娉ㄦ剰褰撳墠shell鍙橀噺涓庢柊寮shell鍙橀噺闂

1.1
root@ubuntu:~# abc=12345567890
root@ubuntu:~# awk 'BEGIN{system("echo $abc")}'

root@ubuntu:~#


1.2
root@ubuntu:~# export abc=12345567890
root@ubuntu:~# awk 'BEGIN{system("echo $abc")}'
12345567890
root@ubuntu:~#

2.1
root@ubuntu:~# abc=1234567890
root@ubuntu:~# awk 'BEGIN{print "echo","$abc"| "/bin/bash"}'

root@ubuntu:~#


2.2
root@ubuntu:~# export abc=1234567890
root@ubuntu:~# awk 'BEGIN{print "echo","$abc"| "/bin/bash"}'
1234567890
root@ubuntu:~#


浠ヤ笂渚嬪瓙錛屾病鏈塭xport鐨勮瘽錛岄偅浜涘彉閲忛兘鏄彧瀛樺湪浜庡綋鍓峴hell鍙橀噺涓紝鎵浠ラ兘鏄痚cho涓嶅嚭鏉ョ殑 錛?br>鑰屼嬌鐢ㄤ簡 export鐨勯兘鏄幆澧冨彉閲忥紝鎵浠wk璋冪敤鏂扮殑shell鏃跺欙紝鍙互echo鍑烘潵



Prayer 2010-08-25 18:53 鍙戣〃璇勮
]]>
Linux Shell鐪熸槸鏃犳墍涓嶈兘涔媠plit鍛戒護銆?/title><link>http://m.shnenglu.com/prayer/archive/2010/08/25/124637.html</link><dc:creator>Prayer</dc:creator><author>Prayer</author><pubDate>Wed, 25 Aug 2010 03:08:00 GMT</pubDate><guid>http://m.shnenglu.com/prayer/archive/2010/08/25/124637.html</guid><wfw:comment>http://m.shnenglu.com/prayer/comments/124637.html</wfw:comment><comments>http://m.shnenglu.com/prayer/archive/2010/08/25/124637.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/prayer/comments/commentRss/124637.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/prayer/services/trackbacks/124637.html</trackback:ping><description><![CDATA[     紿佺劧鍙戠幇鍒癓inux shell鍛戒護鐨勫己澶э紝鏈夋椂鍦╓indows闇瑕佷竴涓蔣浠剁殑鎿嶄綔錛屽湪ubuntu緇堢鎵ц涓鏉″懡浠ゅ氨鍙互銆? <p>姣斿錛?/p> <p>split鍛戒護</p> <p>璇硶:komy@komy-vmware:~$ <font color=#ff0000><strong>split [-bl] 杈撳叆鏂囦歡 杈撳嚭鏂囦歡</strong></font></p> <p><font color=#000000>鍙傛暟璇存槑</font></p> <p><font color=#000000>-b :浠ユ枃浠跺ぇ灝忔潵鍒?/font></p> <p><font color=#000000>-l錛氫互琛屾暟鏉ュ垎</font></p> <p><font color=#000000>渚嬪split -l 100 test.txt out</font></p> <p><font color=#000000>灝辨槸鎶妕est.txt姣?00琛岃緭鍑轟竴涓枃浠秓utaa,outab,outcd浠ユ綾繪帹銆傘傘傚疄鐜頒簡鏂囨湰鏂囦歡鐨勫垎鍓層?/font></p> <p><font color=#000000>split -b 100k test.txt out</font></p> <p><font color=#000000>灝辨槸鎶妕est.txt姣?00KB杈撳嚭涓涓枃浠秓utaa,outab,outcd浠ユ綾繪帹銆?/font></p> <p><font color=#000000>榪欎袱涓懡浠ゅ浜庢墜鏈虹湅灝忚鏈夐檺鍒剁殑鎯呭喌涓嬪緢鍙楃敤銆傘傘?/font></p> <p><font color=#000000>涓嶄粎浠呭姝at 鍛戒護鍙皢榪欎簺鍒嗗壊鍚庣殑鏂囦歡鍚堝茍涓轟竴涓枃浠訛紝騫墮噸瀹氬悜鍒?#8220;largefile”鏂囦歡涓紙largefile涓鴻嚜瀹氱殑鏂囦歡鍚嶏級銆?</font></p> <p style="TEXT-INDENT: 2em"></p> <p style="TEXT-INDENT: 2em">komy@komy-vmware:~$ <font color=#ff0000><strong>cat out* > largeflie</strong></font></p> <img src ="http://m.shnenglu.com/prayer/aggbug/124637.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/prayer/" target="_blank">Prayer</a> 2010-08-25 11:08 <a href="http://m.shnenglu.com/prayer/archive/2010/08/25/124637.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>shell璇誨彇琛岀粡鍏鎬唬鐮侊紙ZZ錛?/title><link>http://m.shnenglu.com/prayer/archive/2010/08/14/123455.html</link><dc:creator>Prayer</dc:creator><author>Prayer</author><pubDate>Sat, 14 Aug 2010 11:44:00 GMT</pubDate><guid>http://m.shnenglu.com/prayer/archive/2010/08/14/123455.html</guid><wfw:comment>http://m.shnenglu.com/prayer/comments/123455.html</wfw:comment><comments>http://m.shnenglu.com/prayer/archive/2010/08/14/123455.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/prayer/comments/commentRss/123455.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/prayer/services/trackbacks/123455.html</trackback:ping><description><![CDATA[#!/usr/bin/ksh<br>#<br># SCRIPT: 12_ways_to_parse.ksh.ksh<br>#<br>#<br># REV: 1.2.A<br>#<br># PURPOSE:   This script shows the different ways of reading<br>#    a file line by line.   Again there is not just one way<br>#    to read a file line by line and some are faster than<br>#    others and some are more intuitive than others.<br>#<br># REV LIST:<br>#<br>#    03/15/2002 - Randy Michael<br>#    Set each of the while loops up as functions and the timing<br>#    of each function to see which one is the fastest.<br>#<br>#######################################################################<br>#<br>#    NOTE: To output the timing to a file use the following syntax:<br>#<br>#       12_ways_to_parse.ksh file_to_process   > output_file_name 2>&1<br>#<br>#    The actaul timing data is sent to standard error, file <br>#    descriptor (2), and the function name header is sent<br>#    to standard output, file descriptor (1).<br>#<br>#######################################################################<br>#<br># set -n   # Uncomment to check command syntax without any execution<br># set -x   # Uncomment to debug this script<br>#<br><br>FILENAME="$1"<br>TIMEFILE="/tmp/loopfile.out"<br>>$TIMEFILE<br>THIS_SCRIPT=$(basename $0)<br><br>######################################<br>function usage<br>{<br>echo "\nUSAGE: $THIS_SCRIPT   file_to_process\n"<br>echo "OR - To send the output to a file use: "<br>echo "\n$THIS_SCRIPT   file_to_process   > output_file_name 2>&1 \n"<br>exit 1<br>}<br>######################################<br>function while_read_LINE<br>{<br>cat $FILENAME | while read LINE<br>do<br>       echo "$LINE"<br>       :<br>done<br>}<br>######################################<br>function while_read_LINE_bottom <br>{<br>while read LINE<br>do<br>       echo "$LINE"<br>       :<br><br>done < $FILENAME<br>}<br>######################################<br>function while_line_LINE_bottom<br>{<br>while line LINE<br>do<br>       echo $LINE<br>       :<br>done < $FILENAME<br>}<br>######################################<br>function cat_while_LINE_line  <br>{<br>cat $FILENAME | while LINE=`line`<br>do<br>       echo "$LINE"<br>       :<br>done<br>}<br>######################################<br>function while_line_LINE<br>{<br>cat $FILENAME | while line LINE<br>do<br>       echo "$LINE"<br>       :<br>done<br>}<br>######################################<br>function while_LINE_line_bottom <br>{<br>while LINE=`line`<br>do<br>       echo "$LINE"<br>       :<br><br>done < $FILENAME <br>}<br>######################################<br>function while_LINE_line_cmdsub2 <br>{<br>cat $FILENAME | while LINE=$(line)<br>do<br>       echo "$LINE"<br>       :<br>done<br>}<br>######################################<br>function while_LINE_line_bottom_cmdsub2 <br>{<br>while LINE=$(line)<br>do<br>       echo "$LINE"<br>       :<br><br>done < $FILENAME <br>}<br>######################################<br>function while_read_LINE_FD <br>{<br>exec 3<&0<br>exec 0< $FILENAME<br>while read LINE<br>do<br>       echo "$LINE"<br>       :<br>done<br>exec 0<&3<br>}<br>######################################<br>function while_LINE_line_FD <br>{<br>exec 3<&0<br>exec 0< $FILENAME<br>while LINE=`line`<br>do<br>       echo "$LINE"<br>       :<br>done<br>exec 0<&3<br>}<br>######################################<br>function while_LINE_line_cmdsub2_FD<br>{<br>exec 3<&0<br>exec 0< $FILENAME<br>while LINE=$(line)<br>do<br>       print "$LINE"<br>       :<br>done<br>exec 0<&3<br>}<br>######################################<br>function while_line_LINE_FD <br>{<br>exec 3<&0<br>exec 0< $FILENAME<br><br>while line LINE<br>do<br>       echo "$LINE"<br>       :<br>done<br><br>exec 0<&3<br>}<br>######################################<br>########### START OF MAIN ############<br>######################################<br><br># Test the Input<br><br># Looking for exactly one parameter<br>(( $# == 1 )) || usage<br><br># Does the file exist as a regular file?<br>[[ -f $1 ]] || usage<br><br>echo "\nStarting File Processing of each Method\n"<br><br>echo "Method 1:"<br>echo "\nfunction while_read_LINE\n" >> $TIMEFILE<br>echo "function while_read_LINE"<br>time while_read_LINE >> $TIMEFILE<br>echo "\nMethod 2:"<br>echo "\nfunction while_read_LINE_bottom\n" >> $TIMEFILE<br>echo "function while_read_LINE_bottom"<br>time while_read_LINE_bottom >> $TIMEFILE<br>echo "\nMethod 3:"<br>echo "\nfunction while_line_LINE_bottom\n" >> $TIMEFILE<br>echo "function while_line_LINE_bottom"<br>time while_line_LINE_bottom >> $TIMEFILE<br>echo "\nMethod 4:"<br>echo "\nfunction cat_while_LINE_line\n" >> $TIMEFILE<br>echo "function cat_while_LINE_line"<br>time cat_while_LINE_line >> $TIMEFILE<br>echo "\nMethod 5:"<br>echo "\nfunction while_line_LINE\n" >> $TIMEFILE<br>echo "function while_line_LINE"<br>time while_line_LINE >> $TIMEFILE<br>echo "\nMethod 6:"<br>echo "\nfunction while_LINE_line_bottom\n" >> $TIMEFILE<br>echo "function while_LINE_line_bottom"<br>time while_LINE_line_bottom >> $TIMEFILE<br>echo "\nMethod 7:"<br>echo "\nfunction while_LINE_line_cmdsub2\n" >> $TIMEFILE<br>echo "function while_LINE_line_cmdsub2"<br>time while_LINE_line_cmdsub2 >> $TIMEFILE<br>echo "\nMethod 8:"<br>echo "\nfunction while_LINE_line_bottom_cmdsub2\n" >> $TIMEFILE<br>echo "function while_LINE_line_bottom_cmdsub2"<br>time while_LINE_line_bottom_cmdsub2 >> $TIMEFILE<br>echo "\nMethod 9:"<br>echo "\nfunction while_read_LINE_FD\n" >> $TIMEFILE<br>echo "function while_read_LINE_FD"<br>time while_read_LINE_FD >> $TIMEFILE<br>echo "\nMethod 10:"<br>echo "\nfunction while_LINE_line_FD\n" >> $TIMEFILE<br>echo "function while_LINE_line_FD"<br>time while_LINE_line_FD >> $TIMEFILE<br>echo "\nMethod 11:"<br>echo "\nfunction while_LINE_line_cmdsub2_FD\n" >> $TIMEFILE<br>echo "function while_LINE_line_cmdsub2_FD"<br>time while_LINE_line_cmdsub2_FD >> $TIMEFILE<br>echo "\nMethod 12:"<br>echo "\nfunction while_line_LINE_FD\n" >> $TIMEFILE<br>echo "function while_line_LINE_FD"<br>time while_line_LINE_FD >> $TIMEFILE <img src ="http://m.shnenglu.com/prayer/aggbug/123455.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/prayer/" target="_blank">Prayer</a> 2010-08-14 19:44 <a href="http://m.shnenglu.com/prayer/archive/2010/08/14/123455.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>shell鐨勬晥鐜囦笉濡俻erl鎴朠ython? http://m.shnenglu.com/prayer/archive/2010/06/07/117311.htmlPrayerPrayerMon, 07 Jun 2010 04:25:00 GMThttp://m.shnenglu.com/prayer/archive/2010/06/07/117311.htmlhttp://m.shnenglu.com/prayer/comments/117311.htmlhttp://m.shnenglu.com/prayer/archive/2010/06/07/117311.html#Feedback0http://m.shnenglu.com/prayer/comments/commentRss/117311.htmlhttp://m.shnenglu.com/prayer/services/trackbacks/117311.html
shell鏂囨湰澶勭悊鏂歸潰錛屼富瑕佹槸鏈塻ed錛宎wk榪欎袱鎶婂垁銆?br>
鍏夌粰浣犱釜shell浣犺繘琛屾枃鏈鐞嗘槸鍋氫笉鍒扮殑錛屽綋鐒剁畝鍗曠殑榪樺彲浠ャ?br>
perl閲屾湁姝e垯琛ㄨ揪寮忓紩鎿庯紝鑳介拡瀵規枃鏈繘琛屾媶鍒嗘浛鎹㈢瓑澶嶆潅鎿嶄綔錛屽叧閿槸錛宲erl涓嶇敤fork鍑烘柊鐨勮繘紼嬫潵澶勭悊榪欎簺浜嬫儏錛岃宻hell闇瑕佷嬌鐢ㄧ閬撶瓑閫氳繃榪欎簺sed錛宎wk鐨勮繘紼嬫潵澶勭悊錛岃嚦灝戝氨澶氬嚭閮ㄥ垎榪涚▼鐨勫紑閿銆?br>
鑰屼笖錛岀閬撹繖涓笢瑗匡紝鍘熸湰涓涓伐鍏蜂竴嬈¤兘瀹屾垚鐨勪換鍔★紝鍦ㄩ渶瑕佺粡榪噑ed錛屽拰awk絳夊嬈$閬撱傛晥鐜囧彲鎯寵岀煡銆?br>
鍏跺疄浣犺繖涓棶棰橀棶鐨勬湁鐐瑰急鏅猴紝SHELL鏄粈涔堬紵

SHELL鍙槸涓涓帴鍙o紝澶ч儴鍒嗙殑鍔熻兘鍏ㄩ潬澶栭儴紼嬪簭鏉ュ畬鎴愩?br>鑰孭erl鏄竴縐嶈璦錛屽熀鏈笂浠涔堜簨鎯呴兘鑳藉仛銆?/td>


鑰佽佸疄瀹炲濂戒竴鏍蜂笢瑗挎渶瀹為檯銆?br>褰撲綘鍙傚姞闈㈣瘯鐨勬椂鍊欙紝濡傛灉鍙互鑷俊鐨勮鑷繁鐔熺粌浣跨敤Shell鎴栬匬erl錛岄偅灝辯浉褰撲笉閿欎簡銆?br>鏁堢巼涔嬬被鐨勪簯浜戯紝鍏蜂綋闂鍏蜂綋鍒嗘瀽鍚э紝鑳借В鍐沖伐浣滀腑閬囧埌鐨勯棶棰樺氨琛屻?br>

鐪嬪嚭鏉ユゼ涓繪瘮杈冨叧蹇冩枃鏈鐞嗭紝涓嬮潰榪欎釜姣旀柟涓嶄竴瀹氭伆褰擄紝浣嗗凡緇忓緢鎺ヨ繎浜嗭細


  • 鐩告瘮杈冭岃█錛宎wk銆乻ed灝卞儚姝繪澘鎵嬶紝鑰宲erl鍜宲ython鏄釜媧繪澘鎵嬨?br>
  • awk鍜宻ed涓撴敞浜庢枃鏈鐞嗭紝澶ч儴鍒嗘儏鍐墊晥鐜囪浼樹簬perl絳夈傚緢綆鍗曪紝姣斿鍒楁枃浠訛紝璋佽兘鏈塩at鐨勬晥鐜囬珮錛?br>
  • 濡傛灉浣犳槸涓噿鎯扮殑SA錛岄偅灝辯敤shell鍚с傚鏋滄槸geek鎴栬呬綘鐨勫伐浣滈渶瑕佸鏉傜殑閫昏緫錛屽茍涓旇繕浼氬嚭鐜拌澶氭棤娉曢鐭ョ殑鏂拌姹傦紝閭e氨鐢╬erl絳夊ソ浜嗐?br>


娌¢偅涔堝鍏抽敭瀛楋紝鏄墦瀛楁墜璇紝浣嗘槸1-10涓囨暟閲忕駭鐨勫叧閿瓧錛屽湪鍗冧竾琛岀駭鏂囨湰鏂囦歡涓悳绱紝榪欎釜閲忚繕鏄湁鐨勩?br>
鏉ユsed multiple keywords search in batch鐨勪唬鐮侊紝嬈㈣繋鍏朵粬鏂版兂娉曘?
  1.                 local num_in_batch=300
  2.                 local batch_counter=0
  3.                 local log_display_in_batch=1000
  4.                 local bbl_counter=0
  5.                 local num_in_bl_counter=0
  6.                 declare -a bbl_arr=()
  7.                 local keyword=
  8.                 local keyword_del

  9.                
  10.                 logMsg $debug_flag null "Starting blacklist checking in batch."

  11.                 for msisdn in `cut -d: -f2 $tmpfile`; do       
  12.                         if [ $batch_counter -eq $num_in_batch ]; then
  13.                                 keyword="${keyword}$msisdn"
  14.                                 bbl_arr=(`sed -rn "/$keyword/p" $filter_file`)
  15.                                 local num=${#bbl_arr[@]}
  16.                                 ((num_in_bl_counter+=num))
  17.                                 if [ $num -gt 1 ]; then
  18.                                         keyword_del=`echo ${bbl_arr[@]} | tr " " "|"`
  19.                                         sed -ri "/${keyword_del}/d" $inputfile
  20.                                 fi
  21.                                 keyword=
  22.                                 batch_counter=0
  23.                         else
  24.                                 keyword="${keyword}$msisdn|"
  25.                         fi
  26.                         if [ $((bbl_counter%log_display_in_batch)) -eq 0 ]; then
  27.                                 logMsg $debug_flag null "$bbl_counter MSISDN processed."
  28.                         fi
  29.                         ((batch_counter++))
  30.                         ((bbl_counter++))
  31.                 done
澶嶅埗浠g爜


Prayer 2010-06-07 12:25 鍙戣〃璇勮
]]>
sort -Thttp://m.shnenglu.com/prayer/archive/2010/05/12/115191.htmlPrayerPrayerWed, 12 May 2010 06:14:00 GMThttp://m.shnenglu.com/prayer/archive/2010/05/12/115191.htmlhttp://m.shnenglu.com/prayer/comments/115191.htmlhttp://m.shnenglu.com/prayer/archive/2010/05/12/115191.html#Feedback0http://m.shnenglu.com/prayer/comments/commentRss/115191.htmlhttp://m.shnenglu.com/prayer/services/trackbacks/115191.html            Places all temporary files that are created into the directory specified by the Directory parameter.

Prayer 2010-05-12 14:14 鍙戣〃璇勮
]]>
sort 鎸囧畾鎺掑簭鍩熺殑涓ょ鏂規硶http://m.shnenglu.com/prayer/archive/2010/05/12/115190.htmlPrayerPrayerWed, 12 May 2010 06:12:00 GMThttp://m.shnenglu.com/prayer/archive/2010/05/12/115190.htmlhttp://m.shnenglu.com/prayer/comments/115190.htmlhttp://m.shnenglu.com/prayer/archive/2010/05/12/115190.html#Feedback0http://m.shnenglu.com/prayer/comments/commentRss/115190.htmlhttp://m.shnenglu.com/prayer/services/trackbacks/115190.html       The -k KeyDefinition flag uses the following form:

       -k [ FStart [ .CStart ] ] [ Modifier ] [ , [ FEnd [ .CEnd ] ][ Modifier ] ]

       The sort key includes all characters beginning with the field specified by the FStart variable and the column specified by
       the CStart variable and ending with the field specified by the FEnd variable and the column specified by the CEnd variable.
       If Fend is not specified, the last character of the line is assumed. If CEnd is not specified the last character in the
       FEnd field is assumed. Any field or column number in the KeyDefinition variable may be omitted. The default values are:
       FStart
            Beginning of the line
       CStart
            First column in the field

       FEnd
            End of the line
       CEnd
            Last column of the field

       If there is any spaces between the fields, sort considers them as separate fields.

       The value of the Modifier variable can be one or more of the letters b, d, f, i, n, or r. The modifiers apply only to the
       field definition they are attached to and have the same effect as the flag of the same letter. The modifier letter b
       applies only to the end of the field definition to which it is attached. For example:

       -k 3.2b,3r

       specifies a sort key beginning in the second nonblank column of the third field and extending to the end of the third
       field, with the sort on this key to be done in reverse collation order. If the FStart variable and the CStart variable fall
       beyond the end of the line or after the FEnd variable and the CEnd variable, then the sort key is ignored.

       A sort key can also be specified in the following manner:

       [+[FSkip1] [.CSkip1] [Modifier] ] [-[FSkip2] [.CSkip2] [Modifier]]

       The +FSkip1 variable specifies the number of fields skipped to reach the first field of the sort key and the +CSkip
       variable specifies the number of columns skipped within that field to reach the first character in the sort key. The -FSkip
       variable specifies the number of fields skipped to reach the first character after the sort key, and the -CSkip variable
       specifies the number of columns to skip within that field. Any of the field and column skip counts may be omitted. The
       defaults are:

       FSkip1
            Beginning of the line
       CSkip1
            Zero
       FSkip2
            End of the line
       CSkip2
            Zero

       The modifiers specified by the Modifier variable are the same as in the -k flag key sort definition.

       The field and column numbers specified by +FSkip1.CSkip1 variables are generally one less than the field and column number
       of the sort key itself because these variables specify how many fields and columns to skip before reaching the sort key.
       For example:

       +2.1b -3r

       specifies a sort key beginning in the second nonblank column of the third field and extending to the end of the third
       field, with the sort on this key to be done in reverse collation order. The statement +2.1b specifies that two fields are
       skipped and then the leading blanks and one more column are skipped. If the +FSkip1.CSkip1 variables fall beyond the end of

       the line or after the -FSkip2.CSkip2 variables, then the sort key is ignored.

       Note: The maximum number of fields on a line is 10.



Prayer 2010-05-12 14:12 鍙戣〃璇勮
]]>
銆妔ort鍛戒護鐨刱閫夐」澶ц璁恒?linux鍛戒護浜斿垎閽熺郴鍒椾箣浜屽崄涓?/title><link>http://m.shnenglu.com/prayer/archive/2010/05/12/115187.html</link><dc:creator>Prayer</dc:creator><author>Prayer</author><pubDate>Wed, 12 May 2010 05:34:00 GMT</pubDate><guid>http://m.shnenglu.com/prayer/archive/2010/05/12/115187.html</guid><wfw:comment>http://m.shnenglu.com/prayer/comments/115187.html</wfw:comment><comments>http://m.shnenglu.com/prayer/archive/2010/05/12/115187.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/prayer/comments/commentRss/115187.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/prayer/services/trackbacks/115187.html</trackback:ping><description><![CDATA[<p><strong>鏈師鍒涙枃绔犲睘浜?a target=_blank><u><font color=#e08105>銆奓inux澶ф銆?/font></u></a>鍗氬錛屽崥瀹㈠湴鍧涓?a target=_blank><u><font color=#e08105>http://roclinux.cn</font></u></a>銆傛枃绔犱綔鑰呬負rocrocket銆?/strong></p> <p><span style="COLOR: #000000"></span><span style="COLOR: #000000"><strong>涓轟簡闃叉鏌愪簺緗戠珯鐨勬伓鎬ц漿杞斤紝鐗瑰湪姣忕瘒鏂囩珷鍓嶅姞鍏ユ淇℃伅錛岃繕鏈涜鑰呬綋璋呫?/strong></span></p> <p><strong>===</strong></p> <p><span style="COLOR: #993300"><strong>[姝f枃寮濮媇</strong></span><br>鏈夋椂鍊欏涔犺剼鏈紝浣犱細鍙戠幇sort鍛戒護鍚庨潰璺熶簡涓鍫嗙被浼?k1,2錛屾垨鑰?k1.2 -k3.4鐨勪笢涓滐紝鏈変簺鍖し鎵鎬濄備粖澶╋紝鎴戜滑灝辨潵鎼炲畾瀹冣?k閫夐」錛?/p> <p><strong>1 鍑嗗绱犳潗</strong></p> <p>$ cat facebook.txt<br>google 110 5000<br>baidu 100 5000<br>guge 50 3000<br>sohu 100 4500</p> <p><span id=more-1472></span></p> <p>絎竴涓煙鏄叕鍙稿悕縐幫紝絎簩涓煙鏄叕鍙鎬漢鏁幫紝絎笁涓煙鏄憳宸ュ鉤鍧囧伐璧勩傦紙闄や簡鍏徃鍚嶇О錛屽叾浠栫殑鍒俊錛岄兘鐬庡啓鐨刕_^錛?/p> <p><strong>2 鎴戞兂璁╄繖涓枃浠舵寜鍏徃鐨勫瓧姣嶉『搴忔帓搴忥紝涔熷氨鏄寜絎竴涓煙榪涜鎺掑簭錛氾紙榪欎釜facebook.txt鏂囦歡鏈変笁涓煙錛?/strong></p> <p>$ sort -t ‘ ‘ -k 1 facebook.txt<br>baidu 100 5000<br>google 110 5000<br>guge 50 3000<br>sohu 100 4500</p> <p>鐪嬪埌浜嗗惂錛屽氨鐩存帴鐢?k 1璁懼畾灝卞彲浠ヤ簡銆傦紙鍏跺疄姝ゅ騫朵笉涓ユ牸錛岀◢鍚庝綘灝變細鐭ラ亾錛?/p> <p><strong>3 鎴戞兂璁ゝacebook.txt鎸夌収鍏徃浜烘暟鎺掑簭</strong></p> <p>$ sort -n -t ‘ ‘ -k 2 facebook.txt<br>guge 50 3000<br>baidu 100 5000<br>sohu 100 4500<br>google 110 5000</p> <p>涓嶇敤瑙i噴錛屾垜鐩鎬俊浣犺兘鎳傘?/p> <p>浣嗘槸錛屾澶勫嚭鐜頒簡闂錛岄偅灝辨槸baidu鍜宻ohu鐨勫叕鍙鎬漢鏁扮浉鍚岋紝閮芥槸100浜猴紝榪欎釜鏃跺欐庝箞鍔炲憿錛熸寜鐓ч粯璁よ鐭╋紝鏄粠絎竴涓煙寮濮嬭繘琛屽崌搴忔帓搴忥紝鍥犳baidu鎺掑湪浜唖ohu鍓嶉潰銆?/p> <p><strong>4  鎴戞兂璁ゝacebook.txt鎸夌収鍏徃浜烘暟鎺掑簭 錛屼漢鏁扮浉鍚岀殑鎸夌収鍛樺伐騫沖潎宸ヨ祫鍗囧簭鎺掑簭錛?/strong></p> <p>$ sort -n -t ‘ ‘ -k 2 -k 3 facebook.txt<br>guge 50 3000<br>sohu 100 4500<br>baidu 100 5000<br>google 110 5000</p> <p>鐪嬶紝鎴戜滑鍔犱簡涓涓?k2 -k3灝辮В鍐充簡闂銆傚婊達紝sort鏀寔榪欑璁懼畾錛屽氨鏄璁懼畾鍩熸帓搴忕殑浼樺厛綰э紝鍏堜互絎?涓煙榪涜鎺掑簭錛屽鏋滅浉鍚岋紝鍐嶄互絎?涓煙榪涜鎺掑簭銆傦紙濡傛灉浣犳効鎰忥紝鍙互涓鐩磋繖涔堝啓涓嬪幓錛岃瀹氬緢澶氫釜鎺掑簭浼樺厛綰э級</p> <p><strong>5 鎴戞兂璁ゝacebook.txt鎸夌収鍛樺伐宸ヨ祫闄嶅簭鎺掑簭錛屽鏋滃憳宸ヤ漢鏁扮浉鍚岀殑錛屽垯鎸夌収鍏徃浜烘暟鍗囧簭鎺掑簭錛氾紙榪欎釜鏈夌偣闅懼害鍠斤級</strong></p> <p>$ sort -n -t ‘ ‘ -k 3r -k 2 facebook.txt<br>baidu 100 5000<br>google 110 5000<br>sohu 100 4500<br>guge 50 3000</p> <p>姝ゅ鏈変嬌鐢ㄤ簡涓浜涘皬鎶宸э紝浣犱粩緇嗙湅鐪嬶紝鍦?k 3鍚庨潰鍋峰伔鍔犱笂浜嗕竴涓皬鍐欏瓧姣峳銆備綘鎯蟲兂錛屽啀緇撳悎鎴戜滑<a target=_blank><u><font color=#e08105>涓婁竴綃囨枃绔?/font></u></a>錛岃兘寰楀埌絳旀涔堬紵鎻檽錛歳鍜?r閫夐」鐨勪綔鐢ㄦ槸涓鏍風殑錛屽氨鏄〃紺洪嗗簭銆傚洜涓簊ort榛樿鏄寜鐓у崌搴忔帓搴忕殑錛屾墍浠ユ澶勯渶瑕佸姞涓妑琛ㄧず絎笁涓煙錛堝憳宸ュ鉤鍧囧伐璧勶級鏄寜鐓ч檷搴忔帓搴忋傛澶勪綘榪樺彲浠ュ姞涓妌錛屽氨琛ㄧず瀵硅繖涓煙榪涜鎺掑簭鏃訛紝瑕佹寜鐓ф暟鍊煎ぇ灝忚繘琛屾帓搴忥紝涓句釜渚嬪瓙鍚э細</p> <p>$ sort -t ‘ ‘ -k 3nr -k 2n facebook.txt<br>baidu 100 5000<br>google 110 5000<br>sohu 100 4500<br>guge 50 3000</p> <p>鐪嬶紝鎴戜滑鍘繪帀浜嗘渶鍓嶉潰鐨?n閫夐」錛岃屾槸灝嗗畠鍔犲叆鍒頒簡姣忎竴涓?k閫夐」涓簡銆?/p> <p><strong>6 -k閫夐」鐨勫叿浣撹娉曟牸寮?/strong></p> <p>瑕佺戶緇線涓嬫繁鍏ョ殑璇濓紝灝變笉寰椾笉鏉ョ偣鐞嗚鐭ヨ瘑銆備綘闇瑕佷簡瑙?k閫夐」鐨勮娉曟牸寮忥紝濡備笅錛?/p> <p>[ FStart [ .CStart ] ] [ Modifier ] [ , [ FEnd [ .CEnd ] ][ Modifier ] ]</p> <p>榪欎釜璇硶鏍煎紡鍙互琚叾涓殑閫楀彿錛?#8220;錛?#8221;錛夊垎涓轟袱澶ч儴鍒嗭紝Start閮ㄥ垎鍜孍nd閮ㄥ垎銆?/p> <p>鍏堢粰浣犵亴杈撲竴涓濇兂錛岄偅灝辨槸“濡傛灉涓嶈瀹欵nd閮ㄥ垎錛岄偅涔堝氨璁や負End琚瀹氫負琛屽熬”銆傝繖涓蹇靛緢閲嶈鐨勶紝浣嗗線寰浣犱笉浼氶噸瑙嗗畠銆?/p> <p>Start閮ㄥ垎涔熺敱涓夐儴鍒嗙粍鎴愶紝鍏朵腑鐨凪odifier閮ㄥ垎灝辨槸鎴戜滑涔嬪墠璇磋繃鐨勭被浼糿鍜宺鐨勯夐」閮ㄥ垎銆傛垜浠噸鐐硅璇碨tart閮ㄥ垎鐨凢Start鍜孋.Start銆?/p> <p>C.Start涔熸槸鍙互鐪佺暐鐨勶紝鐪佺暐鐨勮瘽灝辮〃紺轟粠鏈煙鐨勫紑澶撮儴鍒嗗紑濮嬨備箣鍓嶄緥瀛愪腑鐨?k 2鍜?k 3灝辨槸鐪佺暐浜咰.Start鐨勪緥瀛愬柦銆?/p> <p>FStart.CStart錛屽叾涓璅Start灝辨槸琛ㄧず浣跨敤鐨勫煙錛岃孋Start鍒欒〃紺哄湪FStart鍩熶腑浠庣鍑犱釜瀛楃寮濮嬬畻“鎺掑簭棣栧瓧絎?#8221;銆?/p> <p>鍚岀悊錛屽湪End閮ㄥ垎涓紝浣犲彲浠ヨ瀹欶End.CEnd錛屽鏋滀綘鐪佺暐.CEnd錛屽垯琛ㄧず緇撳熬鍒?#8220;鍩熷熬”錛屽嵆鏈煙鐨勬渶鍚庝竴涓瓧絎︺傛垨鑰咃紝濡傛灉浣犲皢CEnd璁懼畾涓?(闆?錛屼篃鏄〃紺虹粨灝懼埌“鍩熷熬”銆?/p> <p><strong>7 紿佸彂濂囨兂錛屼粠鍏徃鑻辨枃鍚嶇О鐨勭浜屼釜瀛楁瘝寮濮嬭繘琛屾帓搴忥細</strong></p> <p>$ sort -t ‘ ‘ -k 1.2 facebook.txt<br>baidu 100 5000<br>sohu 100 4500<br>google 110 5000<br>guge 50 3000</p> <p>鐪嬶紝鎴戜滑浣跨敤浜?k 1.2錛岃繖灝辮〃紺哄絎竴涓煙鐨勭浜屼釜瀛楃寮濮嬪埌鏈煙鐨勬渶鍚庝竴涓瓧絎︿負姝㈢殑瀛楃涓茶繘琛屾帓搴忋備綘浼氬彂鐜癰aidu鍥犱負絎簩涓瓧姣嶆槸a鑰屽悕鍒楁棣栥俿ohu鍜実oogle絎簩涓瓧絎﹂兘鏄痮錛屼絾sohu鐨刪鍦╣oogle鐨刼鍓嶉潰錛屾墍浠ヤ袱鑰呭垎鍒帓鍦ㄧ浜屽拰絎笁銆俫uge鍙兘灞堝眳絎洓浜嗐?/p> <p><strong>8 鍙堢獊鍙戝鎯籌紝錛屽彧閽堝鍏徃鑻辨枃鍚嶇О鐨勭浜屼釜瀛楁瘝榪涜鎺掑簭錛屽鏋滅浉鍚岀殑鎸夌収鍛樺伐宸ヨ祫榪涜闄嶅簭鎺掑簭錛?/strong></p> <p>$ sort -t ‘ ‘ -k 1.2,1.2 -k 3,3nr facebook.txt<br>baidu 100 5000<br>google 110 5000<br>sohu 100 4500<br>guge 50 3000</p> <p>鐢變簬鍙絎簩涓瓧姣嶈繘琛屾帓搴忥紝鎵浠ユ垜浠嬌鐢ㄤ簡-k 1.2,1.2鐨勮〃紺烘柟寮忥紝琛ㄧず鎴戜滑“鍙?#8221;瀵圭浜屼釜瀛楁瘝榪涜鎺掑簭銆傦紙濡傛灉浣犻棶“鎴戜嬌鐢?k 1.2鎬庝箞涓嶈錛?#8221;錛屽綋鐒朵笉琛岋紝鍥犱負浣犵渷鐣ヤ簡End閮ㄥ垎錛岃繖灝辨剰鍛崇潃浣犲皢瀵逛粠絎簩涓瓧姣嶈搗鍒版湰鍩熸渶鍚庝竴涓瓧絎︿負姝㈢殑瀛楃涓茶繘琛屾帓搴忥級銆傚浜庡憳宸ュ伐璧勮繘琛屾帓搴忥紝鎴戜滑涔熶嬌鐢ㄤ簡-k 3,3錛岃繖鏄渶鍑嗙‘鐨勮〃榪幫紝琛ㄧず鎴戜滑“鍙?#8221;瀵規湰鍩熻繘琛屾帓搴忥紝鍥犱負濡傛灉浣犵渷鐣ヤ簡鍚庨潰鐨?錛屽氨鍙樻垚浜嗘垜浠?#8220;瀵圭3涓煙寮濮嬪埌鏈鍚庝竴涓煙浣嶇疆鐨勫唴瀹硅繘琛屾帓搴?#8221;浜嗐?/p> <p><strong>9 鍦╩odifier閮ㄥ垎榪樺彲浠ョ敤鍒板摢浜涢夐」錛?/strong></p> <p>鍙互鐢ㄥ埌b銆乨銆乫銆乮銆乶 鎴?r銆?/p> <p>鍏朵腑n鍜宺浣犺偗瀹氬凡緇忓緢鐔熸倝浜嗐?/p> <p>b琛ㄧず蹇界暐鏈煙鐨勭鍒扮┖鐧界鍙楓?/p> <p>d琛ㄧず瀵規湰鍩熸寜鐓у瓧鍏擱『搴忔帓搴忥紙鍗籌紝鍙冭檻絀虹櫧鍜屽瓧姣嶏級銆?/p> <p>f琛ㄧず瀵規湰鍩熷拷鐣ュぇ灝忓啓榪涜鎺掑簭銆?/p> <p>i琛ㄧず蹇界暐“涓嶅彲鎵撳嵃瀛楃”錛屽彧閽堝鍙墦鍗板瓧絎﹁繘琛屾帓搴忋傦紙鏈変簺ASCII灝辨槸涓嶅彲鎵撳嵃瀛楃錛屾瘮濡俓a鏄姤璀︼紝\b鏄鏍鹼紝\n鏄崲琛岋紝\r鏄洖杞︾瓑絳夛級</p> <p><strong>10 鎬濊冩濊冨叧浜?k鍜?u鑱斿悎浣跨敤鐨勪緥瀛愶細</strong></p> <p>$ cat facebook.txt<br>google 110 5000<br>baidu 100 5000<br>guge 50 3000<br>sohu 100 4500</p> <p>榪欐槸鏈鍘熷鐨刦acebook.txt鏂囦歡銆?/p> <p>$ sort -n -k 2 facebook.txt<br>guge 50 3000<br>baidu 100 5000<br>sohu 100 4500<br>google 110 5000</p> <p>$ sort -n -k 2 -u facebook.txt<br>guge 50 3000<br>baidu 100 5000<br>google 110 5000</p> <p>褰撹瀹氫互鍏徃鍛樺伐鍩熻繘琛屾暟鍊兼帓搴忥紝鐒跺悗鍔?u鍚庯紝sohu涓琛屽氨琚垹闄や簡錛佸師鏉?u鍙瘑鍒敤-k璁懼畾鐨勫煙錛屽彂鐜扮浉鍚岋紝灝卞皢鍚庣畫鐩稿悓鐨勮閮藉垹闄ゃ?/p> <p>$ sort  -k 1 -u facebook.txt<br>baidu 100 5000<br>google 110 5000<br>guge 50 3000<br>sohu 100 4500</p> <p>$ sort  -k 1.1,1.1 -u facebook.txt<br>baidu 100 5000<br>google 110 5000<br>sohu 100 4500</p> <p>榪欎釜渚嬪瓙涔熷悓鐞嗭紝寮澶村瓧絎︽槸g鐨刧uge灝辨病鏈夊垢鍏嶄簬闅俱?/p> <p>$ sort -n -k 2 -k 3 -u facebook.txt<br>guge 50 3000<br>sohu 100 4500<br>baidu 100 5000<br>google 110 5000</p> <p>鍜︼紒榪欓噷璁劇疆浜嗕袱灞傛帓搴忎紭鍏堢駭鐨勬儏鍐典笅錛屼嬌鐢?u灝辨病鏈夊垹闄や換浣曡銆傚師鏉?u鏄細鏉冭 鎵鏈?k閫夐」錛屽皢閮界浉鍚岀殑鎵嶄細鍒犻櫎錛屽彧瑕佸叾涓湁涓綰т笉鍚岄兘涓嶄細杞繪槗鍒犻櫎鐨?)錛堜笉淇★紝浣犲彲浠ヨ嚜宸卞姞涓琛宻ina 100 4500璇曡瘯鐪嬶級</p> <p><strong>11 鏈璇″紓鐨勬帓搴忥細</strong></p> <p>$ sort -n -k 2.2,3.1 facebook.txt<br>guge 50 3000<br>baidu 100 5000<br>sohu 100 4500<br>google 110 5000</p> <p>浠ョ浜屼釜鍩熺殑絎簩涓瓧絎﹀紑濮嬪埌絎笁涓煙鐨勭涓涓瓧絎︾粨鏉熺殑閮ㄥ垎榪涜鎺掑簭銆?/p> <p>絎竴琛岋紝浼氭彁鍙? 3錛岀浜岃鎻愬彇00 5錛岀涓夎鎻愬彇00 4錛岀鍥涜鎻愬彇10 5銆?/p> <p>鍙堝洜涓簊ort璁や負0灝忎簬00灝忎簬000灝忎簬0000….</p> <p>鍥犳0 3鑲畾鏄湪絎竴涓?0 5鑲畾鏄湪鏈鍚庝竴涓備絾涓轟粈涔?0 5鍗村湪00 4鍓嶉潰鍛紵錛堜綘鍙互鑷繁鍋氬疄楠屾濊冧竴涓嬨傦級</p> <p>絳旀鎻檽錛氬師鏉?#8220;璺ㄥ煙鐨勮瀹氭槸涓亣璞?#8221;錛宻ort鍙細姣旇緝絎簩涓煙鐨勭浜屼釜瀛楃鍒扮浜屼釜鍩熺殑鏈鍚庝竴涓瓧絎︾殑閮ㄥ垎錛岃屼笉浼氭妸絎笁涓煙鐨勫紑澶村瓧絎︾撼鍏ユ瘮杈冭寖鍥淬傚綋鍙戠幇00鍜?0鐩稿悓鏃訛紝sort灝變細鑷姩姣旇緝絎竴涓煙鍘諱簡銆傚綋鐒禸aidu鍦╯ohu鍓嶉潰浜嗐傜敤涓涓寖渚嬪嵆鍙瘉瀹烇細</p> <p>$ sort -n -k 2.2,3.1 -k 1,1r facebook.txt<br>guge 50 3000<br>sohu 100 4500<br>baidu 100 5000<br>google 110 5000</p> <p><strong>12 鏈夋椂鍊欏湪sort鍛戒護鍚庝細鐪嬪埌+1 -2榪欎簺絎﹀彿錛岃繖鏄粈涔堜笢涓滐紵</strong></p> <p>鍏充簬榪欑璇硶錛屾渶鏂扮殑sort鏄繖涔堣繘琛岃В閲婄殑錛?/p> <p>On older systems, `sort’ supports an obsolete origin-zero syntax `+POS1 [-POS2]‘ for specifying sort keys.  POSIX 1003.1-2001 (*note Standards conformance::) does not allow this; use `-k’ instead.</p> <p>鍘熸潵錛岃繖縐嶅彜鑰佺殑琛ㄧず鏂瑰紡宸茬粡琚窐姹頒簡錛屼互鍚庡彲浠ョ悊鐩存皵澹殑閯欒浣跨敤榪欑琛ㄧず鏂規硶鐨勮剼鏈柦錛?/p> <p>錛堜負浜嗛槻姝㈠彜鑰佽剼鏈殑瀛樺湪錛屽湪榪欏啀璇翠竴涓嬭繖縐嶈〃紺烘柟娉曪紝鍔犲彿琛ㄧずStart閮ㄥ垎錛屽噺鍙瘋〃紺篍nd閮ㄥ垎銆傛渶鏈閲嶈鐨勪竴鐐規槸錛岃繖縐嶆柟寮忔柟娉曟槸浠?寮濮嬭鏁扮殑錛屼互鍓嶆墍璇寸殑絎竴涓煙錛屽湪姝よ琛ㄧず涓虹0涓煙銆備互鍓嶇殑絎?涓瓧絎︼紝鍦ㄦ琛ㄧず涓虹1涓瓧絎︺傛槑鐧斤紵錛?/p> <p><span style="COLOR: #0000ff"><strong>緇撴潫璇細</strong></span></p> <p><span style="COLOR: #0000ff"><strong>鏈枃鏄簰鑱旂綉涓婁粎鏈夌殑姣旇緝鍏ㄧ殑鍏充簬sort鐨刱閫夐」鐨勮榪版枃绔狅紝濡傞渶杞澆璇峰姟蹇呮敞鏄?#8220;杞嚜Linux澶ф-Linux涓婚鍗氬”錛岃阿璋㈠悇浣?)</strong></span></p> <p><span style="COLOR: #0000ff"><strong>sort鐨?k閫夐」鍩烘湰灝辨槸榪欏爢鍐呭浜嗭紝濡傛灉澶у鏈変粈涔堣ˉ鍏咃紝灝辯暀璦鍚?) 嬈㈣繋浜ゆ祦錛?/strong></span></p> <img src ="http://m.shnenglu.com/prayer/aggbug/115187.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/prayer/" target="_blank">Prayer</a> 2010-05-12 13:34 <a href="http://m.shnenglu.com/prayer/archive/2010/05/12/115187.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>銆妔ort甯綘鎺掑簭銆?linux鍛戒護浜斿垎閽熺郴鍒椾箣浜屽崄鍏?-o閫夐」http://m.shnenglu.com/prayer/archive/2010/05/12/115186.htmlPrayerPrayerWed, 12 May 2010 05:32:00 GMThttp://m.shnenglu.com/prayer/archive/2010/05/12/115186.htmlhttp://m.shnenglu.com/prayer/comments/115186.htmlhttp://m.shnenglu.com/prayer/archive/2010/05/12/115186.html#Feedback0http://m.shnenglu.com/prayer/comments/commentRss/115186.htmlhttp://m.shnenglu.com/prayer/services/trackbacks/115186.htmlsort鏄湪Linux閲岄潪甯稿父鐢ㄧ殑涓涓懡浠わ紝綆℃帓搴忕殑錛岄泦涓簿鍔涳紝浜斿垎閽熸悶瀹歴ort錛岀幇鍦ㄥ紑濮嬶紒

1 sort鐨勫伐浣滃師鐞?/strong>

sort灝嗘枃浠剁殑姣忎竴琛屼綔涓轟竴涓崟浣嶏紝鐩鎬簰姣旇緝錛屾瘮杈冨師鍒欐槸浠庨瀛楃鍚戝悗錛屼緷嬈℃寜ASCII鐮佸艱繘琛屾瘮杈冿紝鏈鍚庡皢浠栦滑鎸夊崌搴忚緭鍑恒?/p>

[rocrocket@rocrocket programming]$ cat seq.txt
banana
apple
pear
orange
[rocrocket@rocrocket programming]$ sort seq.txt
apple
banana
orange
pear

2 sort鐨?u閫夐」

瀹冪殑浣滅敤寰堢畝鍗曪紝灝辨槸鍦ㄨ緭鍑鴻涓幓闄ら噸澶嶈銆?/p>

[rocrocket@rocrocket programming]$ cat seq.txt
banana
apple
pear
orange
pear
[rocrocket@rocrocket programming]$ sort seq.txt
apple
banana
orange
pear
pear
[rocrocket@rocrocket programming]$ sort -u seq.txt
apple
banana
orange
pear

pear鐢變簬閲嶅琚?u閫夐」鏃犳儏鐨勫垹闄や簡銆?/p>

3 sort鐨?r閫夐」

sort榛樿鐨勬帓搴忔柟寮忔槸鍗囧簭錛屽鏋滄兂鏀規垚闄嶅簭錛屽氨鍔犱釜-r灝辨悶瀹氫簡銆?/p>

[rocrocket@rocrocket programming]$ cat number.txt
1
3
5
2
4
[rocrocket@rocrocket programming]$ sort number.txt
1
2
3
4
5
[rocrocket@rocrocket programming]$ sort -r number.txt
5
4
3
2
1

4 sort鐨?o閫夐」

鐢變簬sort榛樿鏄妸緇撴灉杈撳嚭鍒版爣鍑嗚緭鍑猴紝鎵浠ラ渶瑕佺敤閲嶅畾鍚戞墠鑳藉皢緇撴灉鍐欏叆鏂囦歡錛屽艦濡俿ort filename > newfile銆?/p>

浣嗘槸錛屽鏋滀綘鎯蟲妸鎺掑簭緇撴灉杈撳嚭鍒板師鏂囦歡涓紝鐢ㄩ噸瀹氬悜鍙氨涓嶈浜嗐?/p>

[rocrocket@rocrocket programming]$ sort -r number.txt > number.txt
[rocrocket@rocrocket programming]$ cat number.txt
[rocrocket@rocrocket programming]$
鐪嬶紝绔熺劧灝唍umber娓呯┖浜嗐?/p>

灝卞湪榪欎釜鏃跺欙紝-o閫夐」鍑虹幇浜嗭紝瀹冩垚鍔熺殑瑙e喅浜嗚繖涓棶棰橈紝璁╀綘鏀懼績鐨勫皢緇撴灉鍐欏叆鍘熸枃浠躲傝繖鎴栬涔熸槸-o姣旈噸瀹氬悜鐨勫敮涓浼樺娍鎵鍦ㄣ?/strong>

[rocrocket@rocrocket programming]$ cat number.txt
1
3
5
2
4
[rocrocket@rocrocket programming]$ sort -r number.txt -o number.txt
[rocrocket@rocrocket programming]$ cat number.txt
5
4
3
2
1

5 sort鐨?n閫夐」

浣犳湁娌℃湁閬囧埌榪?0姣?灝忕殑鎯呭喌銆傛垜鍙嶆閬囧埌榪囥傚嚭鐜拌繖縐嶆儏鍐墊槸鐢變簬鎺掑簭紼嬪簭灝嗚繖浜涙暟瀛楁寜瀛楃鏉ユ帓搴忎簡錛屾帓搴忕▼搴忎細鍏堟瘮杈?鍜?錛屾樉鐒?灝忥紝鎵浠ュ氨灝?0鏀懼湪2鍓嶉潰鍠姐傝繖涔熸槸sort鐨勪竴璐綔椋庛?/p>

鎴戜滑濡傛灉鎯蟲敼鍙樿繖縐嶇幇鐘訛紝灝辮浣跨敤-n閫夐」錛屾潵鍛婅瘔sort錛?#8220;瑕佷互鏁板兼潵鎺掑簭”錛?/p>

[rocrocket@rocrocket programming]$ cat number.txt
1
10
19
11
2
5
[rocrocket@rocrocket programming]$ sort number.txt
1
10
11
19
2
5
[rocrocket@rocrocket programming]$ sort -n number.txt
1
2
5
10
11
19

6 sort鐨?t閫夐」鍜?k閫夐」

濡傛灉鏈変竴涓枃浠剁殑鍐呭鏄繖鏍鳳細

[rocrocket@rocrocket programming]$ cat facebook.txt
banana:30:5.5
apple:10:2.5
pear:90:2.3
orange:20:3.4

榪欎釜鏂囦歡鏈変笁鍒楋紝鍒椾笌鍒椾箣闂寸敤鍐掑彿闅斿紑浜嗭紝絎竴鍒楄〃紺烘按鏋滅被鍨嬶紝絎簩鍒楄〃紺烘按鏋滄暟閲忥紝絎笁鍒楄〃紺烘按鏋滀環鏍箋?/p>

閭d箞鎴戞兂浠ユ按鏋滄暟閲忔潵鎺掑簭錛屼篃灝辨槸浠ョ浜屽垪鏉ユ帓搴忥紝濡備綍鍒╃敤sort瀹炵幇錛?/p>

騫稿ソ錛宻ort鎻愪緵浜?t閫夐」錛屽悗闈㈠彲浠ヨ瀹氶棿闅旂銆傦紙鏄笉鏄兂璧蜂簡cut鍜宲aste鐨?d閫夐」錛屽叡楦o綖锝烇級

鎸囧畾浜嗛棿闅旂涔嬪悗錛屽氨鍙互鐢?k鏉ユ寚瀹氬垪鏁頒簡銆?/p>

[rocrocket@rocrocket programming]$ sort -n -k 2 -t : facebook.txt
apple:10:2.5
orange:20:3.4
banana:30:5.5
pear:90:2.3

鎴戜滑浣跨敤鍐掑彿浣滀負闂撮殧絎︼紝騫墮拡瀵圭浜屽垪鏉ヨ繘琛屾暟鍊煎崌搴忔帓搴忥紝緇撴灉寰堜護浜烘弧鎰忋?/p>

7 鍏朵粬鐨剆ort甯哥敤閫夐」

-f浼氬皢灝忓啓瀛楁瘝閮借漿鎹負澶у啓瀛楁瘝鏉ヨ繘琛屾瘮杈冿紝浜﹀嵆蹇界暐澶у皬鍐?/p>

-c浼氭鏌ユ枃浠舵槸鍚﹀凡鎺掑ソ搴忥紝濡傛灉涔卞簭錛屽垯杈撳嚭絎竴涓貢搴忕殑琛岀殑鐩稿叧淇℃伅錛屾渶鍚庤繑鍥?

-C浼氭鏌ユ枃浠舵槸鍚﹀凡鎺掑ソ搴忥紝濡傛灉涔卞簭錛屼笉杈撳嚭鍐呭錛屼粎榪斿洖1

-M浼氫互鏈堜喚鏉ユ帓搴忥紝姣斿JAN灝忎簬FEB絳夌瓑

-b浼氬拷鐣ユ瘡涓琛屽墠闈㈢殑鎵鏈夌┖鐧介儴鍒嗭紝浠庣涓涓彲瑙佸瓧絎﹀紑濮嬫瘮杈冦?/p>

鏈畬寰呯畫錛屾暚璇鋒湡寰咃細銆妔ort鍛戒護鐨刱閫夐」澶ц璁恒?/strong>



Prayer 2010-05-12 13:32 鍙戣〃璇勮
]]>
shell棰勫畾涔夊彉閲?/title><link>http://m.shnenglu.com/prayer/archive/2010/04/12/112366.html</link><dc:creator>Prayer</dc:creator><author>Prayer</author><pubDate>Mon, 12 Apr 2010 11:11:00 GMT</pubDate><guid>http://m.shnenglu.com/prayer/archive/2010/04/12/112366.html</guid><wfw:comment>http://m.shnenglu.com/prayer/comments/112366.html</wfw:comment><comments>http://m.shnenglu.com/prayer/archive/2010/04/12/112366.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/prayer/comments/commentRss/112366.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/prayer/services/trackbacks/112366.html</trackback:ping><description><![CDATA[棰勫畾涔夊彉閲忓拰鐜鍙橀噺鐩哥被浼鹼紝涔熸槸鍦⊿hell涓寮濮嬫椂灝卞畾涔変簡鐨勫彉閲忋傛墍涓嶅悓鐨勬槸錛岀敤鎴峰彧鑳芥牴鎹甋hell鐨勫畾涔夋潵浣跨敤榪欎簺鍙橀噺錛岃屼笉鑳介噸瀹氫箟瀹冦傛墍鏈夐瀹氫箟鍙橀噺閮芥槸鐢?絎﹀拰鍙︿竴涓鍙風粍鎴愮殑錛屽父鐢ㄧ殑Shell棰勫畾涔夊彉閲忔湁錛?br> $# 浣嶇疆鍙傛暟鐨勬暟閲忋?br> $* 鎵鏈変綅緗弬鏁扮殑鍐呭銆?br> $? 鍛戒護鎵ц鍚庤繑鍥炵殑鐘舵併?br> $$ 褰撳墠榪涚▼鐨勮繘紼嬪彿銆?br> $! 鍚庡彴榪愯鐨勬渶鍚庝竴涓繘紼嬪彿銆?br> $0 褰撳墠鎵ц鐨勮繘紼嬪悕銆?br> 鍏朵腑錛??鐢ㄤ簬媯鏌ヤ笂涓涓懡浠ゆ墽琛屾槸鍚︽紜傦紙鍦↙inux涓紝鍛戒護閫鍑虹姸鎬佷負0琛ㄧず璇ュ懡浠ゆ紜墽琛岋紝浠諱綍闈?鍊艱〃紺哄懡浠ゅ嚭閿欍傦級<br> $$鍙橀噺鏈甯歌鐨勭敤閫旀槸鐢ㄥ仛鏆傚瓨鏂囦歡鐨勫悕瀛椾互淇濊瘉鏆傚瓨鏂囦歡涓嶄細閲嶅銆?img src ="http://m.shnenglu.com/prayer/aggbug/112366.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/prayer/" target="_blank">Prayer</a> 2010-04-12 19:11 <a href="http://m.shnenglu.com/prayer/archive/2010/04/12/112366.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>鎬庢牱鍚慳wk涓紶鍏hell鍙橀噺鍊?/title><link>http://m.shnenglu.com/prayer/archive/2010/04/12/112365.html</link><dc:creator>Prayer</dc:creator><author>Prayer</author><pubDate>Mon, 12 Apr 2010 11:10:00 GMT</pubDate><guid>http://m.shnenglu.com/prayer/archive/2010/04/12/112365.html</guid><wfw:comment>http://m.shnenglu.com/prayer/comments/112365.html</wfw:comment><comments>http://m.shnenglu.com/prayer/archive/2010/04/12/112365.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/prayer/comments/commentRss/112365.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/prayer/services/trackbacks/112365.html</trackback:ping><description><![CDATA[<p>鍋囪褰撳墠鐩綍涓嬫湁a.log b.log浜屼釜鏂囦歡錛屽埄鐢╝wk鎵撳嵃鍑哄叾鏂囦歡鍚嶏紝鑴氭湰濡備笅錛?/p> <p>#! /bin/bash<br> for file in *.log<br> do<br>         awk 'BEGIN{var=" ' "$file" ' "}END{print var;}' "$file"<br> done</p> <p><strong><span style="color: #0000ff;">鍦ㄨ繖閲屾渶璁╀漢娣鋒穯鐨勬槸鍗曞紩鍙峰拰鍙屽紩鍙?/span> </strong> </p> <p><br> <strong>鎴戜滑鍙互鍒╃敤bash -x test.sh鏉ユ墽琛岃剼鏈紝鍏朵細灝嗚剼鏈腑鐨剆hell鍙橀噺灞曞紑錛屼究浜庤皟璇?/strong> </p> <p><strong>’鍗曞紩鍙蜂腑闄わ紙’錛夐兘涓哄師鏈瓧絎︼紝娌℃湁鐗規畩鎰忎箟</strong> </p> <p><strong>"鍙屽紩鍙蜂腑闄わ紙</strong> <strong>$`"錛?/strong> <strong>閮戒負鍘熸湰瀛楃錛屾病鏈夌壒孌婃剰涔?/strong> </p> <p><strong>鍥犳錛屼笂榪板彲浠ュ睍寮涓?</strong> </p> <p><strong>絎竴嬈★細<br> </strong> </p> <p><strong> awk 'BEGIN{var="a.log"}END{print var;}‘ a.log</strong> </p> <p><strong>絎簩嬈★細<br> </strong> </p> <p><strong>awk 'BEGIN{var="b.log"}END{print var;}‘ b.log</strong> </p> <p>濡傛灉灝嗗叾鍐欐垚 awk 'BEGIN{var=' "$file" '}END{print var;}' "$file"錛屽垯灞曞紑涓猴細</p> <p><strong>絎竴嬈★細<br> </strong> </p> <p><strong> awk 'BEGIN{var=a.log}END{print var;}‘ a.log</strong> </p> <p><strong>絎簩嬈★細<br> </strong> </p> <p><strong>awk 'BEGIN{var=b.log}END{print var;}‘ b.log</strong> </p> <p><strong>浼氭姤閿欙紝鍥犱負awk涓瓧絎︿覆瑕佺敤鍙屽紩鍙鋒嫭璧鋒潵</strong> </p> <p><strong><br> </strong> </p> <p><strong>灝嗗叾鍒嗚В鎴愪互涓嬭繖鏍鳳紝渚夸簬鐞嗚В錛?/strong> </p> <p><strong></strong> 'BEGIN{var=" '    "$file"     ' "}END{print var;}'  榪欎笁閮ㄥ垎涓哄瓧絎︿覆榪炴帴鍏崇郴</p> <img src ="http://m.shnenglu.com/prayer/aggbug/112365.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/prayer/" target="_blank">Prayer</a> 2010-04-12 19:10 <a href="http://m.shnenglu.com/prayer/archive/2010/04/12/112365.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>eval鐢ㄦ硶涓変緥,涓庡ぇ瀹跺垎浜?寰堟湁鐢╫ ! 瀵瑰瓧絎︿覆涓ゆ瑙f瀽銆?/title><link>http://m.shnenglu.com/prayer/archive/2010/03/28/110744.html</link><dc:creator>Prayer</dc:creator><author>Prayer</author><pubDate>Sun, 28 Mar 2010 09:49:00 GMT</pubDate><guid>http://m.shnenglu.com/prayer/archive/2010/03/28/110744.html</guid><wfw:comment>http://m.shnenglu.com/prayer/comments/110744.html</wfw:comment><comments>http://m.shnenglu.com/prayer/archive/2010/03/28/110744.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/prayer/comments/commentRss/110744.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/prayer/services/trackbacks/110744.html</trackback:ping><description><![CDATA[<p> </p> <p>## eval鐢ㄦ硶涓変緥 ##<br>## shell:/bin/sh ##<br>## yhc 2002.09.26 18:00 ##</p> <p>#渚嬩竴:<br>#瀵繪壘鍚堢鏉′歡鐨勫彉閲忓悕,鐒跺悗灝嗚鍙橀噺鐨勫艱祴浜堝彟涓鍙橀噺<br>v1=aaa<br>v2=bbb<br>c=1<br>if [ $c -eq 1 ]<br>then<br>  vname=v$c   #鎵懼埌絎﹀悎鏉′歡鐨勫彉閲忓悕涓簐1<br>  eval vvv="$"$vname ; echo vvv: $vvv    #灝嗗彉閲弙1鐨勫艱祴浜坴vv,鍗?浣縱vv=aaa<br>  eval vvv='$'$vname ; echo vvv: $vvv    #灝嗗彉閲弙1鐨勫艱祴浜坴vv,鍗?浣縱vv=aaa<br> #eval vvv=$$vname   ; echo vvv: $vvv    #閿欒鐢ㄦ硶<br>fi</p> <p><br>#渚嬩簩:#浠ュ彉閲弙1鐨勫糰aa浣滀負鍙橀噺鍚?灝嗗彉閲弙aaa鐨勫艱祴浜堣繖涓鏂板畾涔夌殑鍙橀噺aaa<br>v1=aaa ; vaaa="This is aaa"<br>#eval $v1=$vaaa    ; echo aaa: $aaa    #閿欒鐢ㄦ硶<br>#eval $v1="$vaaa"  ; echo aaa: $aaa    #閿欒鐢ㄦ硶<br>eval $v1='$vaaa'   ; echo aaa: $aaa</p> <p><br>#渚嬩笁:<br>#浠ュ彉閲弙1鐨勫糰aa浣滀負鍙橀噺鍚?騫跺皢鍙橀噺鍚嶅瓧涓蹭綔涓哄艱祴浜堣嚜韜?br>v1=aaa ; vaaa="This is aaa"<br>eval $v1=$v1   ; echo aaa: $aaa    #涓庝緥浜岀殑閿欒鐢ㄦ硶涓嶅悓,榪欎竴鐢ㄦ硶鏄紜殑<br>eval $v1="$v1" ; echo aaa: $aaa    #涓庝緥浜岀殑閿欒鐢ㄦ硶涓嶅悓,榪欎竴鐢ㄦ硶鏄紜殑<br>eval $v1='$v1' ; echo aaa: $aaa</p> <p>璇ユ枃绔犺漿杞借嚜[紼嬪簭浜虹敓]錛?lt;a href="<a target="_blank">http://www.procedurelife.com/technical/SHELL/content/lbkjf.html</a><br><br><br><br></p> <img src ="http://m.shnenglu.com/prayer/aggbug/110744.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/prayer/" target="_blank">Prayer</a> 2010-03-28 17:49 <a href="http://m.shnenglu.com/prayer/archive/2010/03/28/110744.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>shell涓璽rap鎹曟崏鍒頒俊鍙風殑澶勭悊http://m.shnenglu.com/prayer/archive/2010/03/28/110743.htmlPrayerPrayerSun, 28 Mar 2010 09:42:00 GMThttp://m.shnenglu.com/prayer/archive/2010/03/28/110743.htmlhttp://m.shnenglu.com/prayer/comments/110743.htmlhttp://m.shnenglu.com/prayer/archive/2010/03/28/110743.html#Feedback0http://m.shnenglu.com/prayer/comments/commentRss/110743.htmlhttp://m.shnenglu.com/prayer/services/trackbacks/110743.html涓. trap鎹曟崏鍒頒俊鍙蜂箣鍚庯紝鍙互鏈変笁縐嶅弽搴旀柟寮忥細

銆銆(1)鎵ц涓孌電▼搴忔潵澶勭悊榪欎竴淇″彿

銆銆(2)鎺ュ彈淇″彿鐨勯粯璁ゆ搷浣?br>
銆銆(3)蹇借榪欎竴淇″彿

銆銆浜? trap瀵逛笂闈笁縐嶆柟寮忔彁渚涗簡涓夌鍩烘湰褰㈠紡錛?br>
銆銆絎竴縐嶅艦寮忕殑trap鍛戒護鍦╯hell鎺ユ敹鍒皊ignal list娓呭崟涓暟鍊肩浉鍚岀殑淇″彿鏃訛紝灝嗘墽琛屽弻

銆銆寮曞彿涓殑鍛戒護涓層?br>
銆銆trap 'commands' signal-list

銆銆trap "commands" signal-list

銆銆涓轟簡鎭㈠淇″彿鐨勯粯璁ゆ搷浣滐紝浣跨敤絎簩縐嶅艦寮忕殑trap鍛戒護錛?br>
銆銆trap signal-list

銆銆絎笁縐嶅艦寮忕殑trap鍛戒護鍏佽蹇借淇″彿

銆銆trap " " signal-list

 

 

娉ㄦ剰錛?br>
銆銆(1) 瀵逛俊鍙?1(孌佃繚渚?涓嶈兘鎹曟崏錛屽洜涓簊hell鏈韓闇瑕佹崟鎹夎淇″彿鍘昏繘琛屽唴瀛樼殑杞偍銆?br>
銆銆(2) 鍦╰rap涓彲浠ュ畾涔夊淇″彿0鐨勫鐞?瀹為檯涓婃病鏈夎繖涓俊鍙?錛?shell紼嬪簭鍦ㄥ叾緇堟(濡?br>
銆銆鎵цexit璇彞)鏃跺彂鍑鴻淇″彿銆?br>
銆銆(3) 鍦ㄦ崟鎹夊埌signal-list涓寚瀹氱殑淇″彿騫舵墽琛屽畬鐩稿簲鐨勫懡浠や箣鍚庯紝 濡傛灉榪欎簺鍛戒護娌℃湁

銆銆灝唖hell紼嬪簭緇堟鐨勮瘽錛宻hell紼嬪簭灝嗙戶緇墽琛屾敹鍒頒俊鍙鋒椂鎵鎵ц鐨勫懡浠ゅ悗闈㈢殑鍛戒護錛岃繖鏍峰皢

銆銆寰堝鏄撳鑷磗hell紼嬪簭鏃犳硶緇堟銆?br>
銆銆鍙﹀錛屽湪trap璇彞涓紝鍗曞紩鍙峰拰鍙屽紩鍙鋒槸涓嶅悓鐨勶紝褰搒hell紼嬪簭絎竴嬈$鍒皌rap璇彞鏃訛紝

銆銆灝嗘妸commands涓殑鍛戒護鎵弿涓閬嶃傛鏃惰嫢commands鏄敤鍗曞紩鍙鋒嫭璧鋒潵鐨勮瘽錛岄偅涔坰hell涓嶄細

銆銆瀵筩ommands涓殑鍙橀噺鍜屽懡浠よ繘琛屾浛鎹紝 鍚﹀垯commands涓殑鍙橀噺鍜屽懡浠ゅ皢鐢ㄥ綋鏃跺叿浣撶殑鍊兼潵

 

kill -l鍙互鍒楀嚭緋葷粺鐨勪俊鍙?/p>

閫氬父鎴戜滑闇瑕佸拷鐣ョ殑淇″彿鏈夊洓涓紝鍗籌細HUP, INT, QUIT, TSTP錛屼篃灝辨槸淇″彿1, 2, 3, 24
浣跨敤榪欐牱鐨勮鍙ュ彲浠ヤ嬌榪欎簺涓柇淇″彿琚拷鐣ワ細
trap "" 1 2 3 24 鎴?trap "" HUP INT QUIT TSTP
鐢?trap 錛? 2 3 24 鎴?trap HUP INT QUIT TSTP浣垮叾鍥炲榛樿鍊箋?
鐢╯tty -a鍙互鍒楀嚭涓柇淇″彿涓庨敭鐩樼殑瀵瑰簲錛屽垎鍒墽琛屼笂闈㈢殑鍛戒護鍚庯紝榪愯
tail -f /etc/passwd, 鐒跺悗灝濊瘯鐢ㄩ敭鐩樹腑鏂紝璇曡瘯涓ょ鎯呭喌錛堥粯璁ゅ拰蹇界暐錛変笅鏈変綍涓嶅悓銆?
鏇存柟渚跨殑鏄垜浠彲浠ョ敤鍦╯hell涓敤trap瀹氫箟鎴戜滑鑷繁鐨勪俊鍙峰鐞嗙▼搴?/p>

 

 

 

 

#!/bin/bash
#scriptname: trapping
#can use the singnal numbers of bash abbreviations seen
#below. Cannot use SIGINT ,SIGOUIT ,etc
trap 'echo Control-c will not terminate $0. ' INT
trap 'echo Control-\ will not terminate $0. ' QUIT
trap 'echo Control-Z will not terminate $0. ' TSTP
echo "Enter any string after the prompt. When you are ready to exit ,type \"stop\"."
while true
do
echo -n "Go ahead ...>"
read
if [[ $reply==[sS]top ]]
then
   break
fi
done


Prayer 2010-03-28 17:42 鍙戣〃璇勮
]]>
awk鍐呯疆瀛楃涓插嚱鏁拌瑙?/title><link>http://m.shnenglu.com/prayer/archive/2010/03/28/110742.html</link><dc:creator>Prayer</dc:creator><author>Prayer</author><pubDate>Sun, 28 Mar 2010 09:14:00 GMT</pubDate><guid>http://m.shnenglu.com/prayer/archive/2010/03/28/110742.html</guid><wfw:comment>http://m.shnenglu.com/prayer/comments/110742.html</wfw:comment><comments>http://m.shnenglu.com/prayer/archive/2010/03/28/110742.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/prayer/comments/commentRss/110742.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/prayer/services/trackbacks/110742.html</trackback:ping><description><![CDATA[<div>awk鎻愪緵浜嗚澶氬己澶х殑瀛楃涓插嚱鏁幫紝瑙佷笅琛細<br>awk鍐呯疆瀛楃涓插嚱鏁?br> <table class=zeroBorder id=c-nq style="WIDTH: 458px; HEIGHT: 298px" cellSpacing=0 cellPadding=3 border=0> <tbody> <tr> </tr> <tr> <td width="50%">gsub(r,s)</td> <td width="50%">鍦ㄦ暣涓?0涓敤s鏇夸唬r </td> </tr> <tr> <td width="50%">gsub(r,s,t)</td> <td width="50%">鍦ㄦ暣涓猼涓敤s鏇夸唬r</td> </tr> <tr> <td width="50%">index(s,t)<span></span><br></td> <td width="50%">榪斿洖s涓瓧絎︿覆t鐨勭涓浣嶇疆</td> </tr> <tr> <td width="50%">length(s)<br></td> <td width="50%">榪斿洖s闀垮害</td> </tr> <tr> <td width="50%">match(s,r)<br></td> <td width="50%">嫻嬭瘯s鏄惁鍖呭惈鍖歸厤r鐨勫瓧絎︿覆</td> </tr> <tr> <td width="50%">split(s,a,fs)</td> <td width="50%"><span></span>鍦╢s涓婂皢s鍒嗘垚搴忓垪a </td> </tr> <tr> <td width="50%">sprint(fmt,exp)</td> <td width="50%">榪斿洖緇廸mt鏍煎紡鍖栧悗鐨別xp </td> </tr> <tr> <td width="50%">sub(r,s)<br></td> <td width="50%">鐢?0涓渶宸﹁竟鏈闀跨殑瀛愪覆浠f浛s </td> </tr> <tr> <td width="50%">substr(s,p)</td> <td width="50%">榪斿洖瀛楃涓瞫涓粠p寮濮嬬殑鍚庣紑閮ㄥ垎</td> </tr> <tr> <td width="50%">substr(s,p,n)<br></td> <td width="50%">榪斿洖瀛楃涓瞫涓粠p寮濮嬮暱搴︿負n鐨勫悗緙閮ㄥ垎</td> </tr> </tbody> </table> 璇︾粏璇存槑涓涓嬪悇涓嚱鏁扮殑浣跨敤鏂規硶銆?br><span id="hvzpftn" class=fullpost><br>gsub鍑芥暟鏈夌偣綾諱技浜巗ed鏌ユ壘鍜屾浛鎹€傚畠鍏佽鏇挎崲涓涓瓧絎︿覆鎴栧瓧絎︿負鍙︿竴涓瓧絎︿覆鎴栧瓧絎︼紝騫朵互姝e垯琛ㄨ揪寮忕殑褰㈠紡鎵ц銆傜涓涓嚱鏁頒綔鐢ㄤ簬璁板綍$0錛岀浜屼釜gsub鍑芥暟鍏佽鎸囧畾鐩爣錛岀劧鑰岋紝濡傛灉鏈寚瀹氱洰鏍囷紝緙虹渷涓?0銆?br>index(s,t)鍑芥暟榪斿洖鐩爣瀛楃涓瞫涓煡璇㈠瓧絎︿覆t鐨勯浣嶇疆銆俵ength鍑芥暟榪斿洖瀛楃涓瞫瀛楃<br>闀垮害銆俶atch鍑芥暟嫻嬭瘯瀛楃涓瞫鏄惁鍖呭惈涓涓鍒欒〃杈懼紡r瀹氫箟鐨勫尮閰嶃俿plit浣跨敤鍩熷垎闅旂fs灝?br>瀛楃涓瞫鍒掑垎涓烘寚瀹氬簭鍒梐銆俿print鍑芥暟綾諱技浜巔rintf鍑芥暟(浠ュ悗娑夊強)錛岃繑鍥炲熀鏈緭鍑烘牸寮廸mt鐨?br>緇撴灉瀛楃涓瞖xp銆俿ub(r,s)鍑芥暟灝嗙敤s鏇夸唬$0涓渶宸﹁竟鏈闀跨殑瀛愪覆錛岃瀛愪覆琚?r)鍖歸厤銆?br>sub(s,p)榪斿洖瀛楃涓瞫鍦ㄤ綅緗畃鍚庣殑鍚庣紑銆俿ubstr(s,p,n)鍚屼笂錛屽茍鎸囧畾瀛愪覆闀垮害涓簄銆?br>鐜板湪鐪嬩竴鐪媋wk涓繖浜涘瓧絎︿覆鍑芥暟鐨勫姛鑳姐?br><br><span style="FONT-WEIGHT: bold">1.gsub</span><br>瑕佸湪鏁翠釜璁板綍涓浛鎹竴涓瓧絎︿覆涓哄彟涓涓紝浣跨敤姝e垯琛ㄨ揪寮忔牸寮忥紝/鐩爣妯″紡/錛屾浛鎹㈡ā寮?br>/銆備緥濡傛敼鍙樺鐢熷簭鍙?842鍒?899錛?br><br>$ awk 'gsub('4842/, 4899) {print $0}' grade.txt<br>J.Troll 07/99 4899 Brown-3 12 26 26<br><br><span style="FONT-WEIGHT: bold">2.index</span><br>鏌ヨ瀛楃涓瞫涓璽鍑虹幇鐨勭涓浣嶇疆銆傚繀欏葷敤鍙屽紩鍙峰皢瀛楃涓叉嫭璧鋒潵銆備緥濡傝繑鍥炵洰鏍囧瓧絎︿覆<br>Bunny涓璶y鍑虹幇鐨勭涓浣嶇疆錛屽嵆瀛楃涓暟銆?br><br>$ awk 'BEGIN {print index("Bunny", "ny")} grade.txt<br>4<br><br><span style="FONT-WEIGHT: bold">3.length</span><br>榪斿洖鎵闇瀛楃涓查暱搴︼紝渚嬪媯楠屽瓧絎︿覆J.Troll榪斿洖鍚嶅瓧鍙婂叾闀垮害錛屽嵆浜哄悕鏋勬垚鐨勫瓧絎︿釜<br>鏁般?br><br>$ awk '$1=="J.Troll" {print length($1) " "$1}' grade.txt<br>7 J.Troll<br><br>榪樻湁涓縐嶆柟娉曪紝榪欓噷瀛楃涓插姞鍙屽紩鍙楓?br><br>$ awk 'BEGIN {print length("A FEW GOOD MEN")}'<br>14<br><br><span style="FONT-WEIGHT: bold">4.match</span><br>match嫻嬭瘯鐩爣瀛楃涓叉槸鍚﹀寘鍚煡鎵懼瓧絎︾殑涓閮ㄥ垎銆傚彲浠ュ鏌ユ壘閮ㄥ垎浣跨敤姝e垯琛ㄨ揪寮?榪?br>鍥炲間負鎴愬姛鍑虹幇鐨勫瓧絎︽帓鍒楁暟銆傚鏋滄湭鎵懼埌,榪斿洖0,絎竴涓緥瀛愬湪ANCD涓煡鎵綿銆傚洜鍏朵笉<br>瀛樺湪,鎵浠ヨ繑鍥?銆傜浜屼釜渚嬪瓙鍦ˋNCD涓煡鎵綝銆傚洜鍏跺瓨鍦?鎵浠ヨ繑鍥濧NCD涓璂鍑虹幇鐨勯浣?br>緗瓧絎︽暟銆傜涓変釜渚嬪瓙鍦ㄥ鐢烰.Lulu涓煡鎵緐銆?br><br>$ awk '{BEGIN {print match("ANCD", /d/)}'<br>0<br>$ awk '{BEGIN {print match("ANCD", /C/)}'<br>3<br>$ awk '$1=="J.Lulu" {print match($1, "u")} grade.txt<br>4<br><br><span style="FONT-WEIGHT: bold">5.split</span><br>浣跨敤split榪斿洖瀛楃涓叉暟緇勫厓绱犱釜鏁般傚伐浣滄柟寮忓涓嬶細濡傛灉鏈変竴瀛楃涓?鍖呭惈涓鎸囧畾鍒嗛殧<br>絎?,渚嬪AD2-KP9-JU2-LP-1,灝嗕箣鍒掑垎鎴愪竴涓暟緇勩備嬌鐢╯plit,鎸囧畾鍒嗛殧絎﹀強鏁扮粍鍚嶃傛<br>渚嬩腑,鍛戒護鏍煎紡涓?"AD2-KP9-JU2-LP-1",parts_array,"-"),split鐒跺悗榪斿洖鏁扮粍涓嬫爣鏁?榪?br>閲岀粨鏋滀負4銆?br>榪樻湁涓涓緥瀛愪嬌鐢ㄤ笉鍚岀殑鍒嗛殧絎︺?br><br>$ awk '{BEGIN {print split("123#456#678", myarray, "#")}'<br>3<br><br>榪欎釜渚嬪瓙涓?split榪斿洖鏁扮粍myarray鐨勪笅鏍囨暟銆傛暟緇刴yarray鍙栧煎涓嬶細<br><br>Myarray[1]="123"<br>Myarray[2]="456"<br>Myarray[3]="789"<br><br><span style="FONT-WEIGHT: bold">6.sub</span><br>浣跨敤sub鍙戠幇騫舵浛鎹㈡ā寮忕殑絎竴嬈″嚭鐜頒綅緗傚瓧絎︿覆STR鍖呭惈‘popedpopopill’,鎵ц涓?br>鍒梥ub鍛戒護sub(/op/,"op",STR)銆傛ā寮弌p絎竴嬈″嚭鐜版椂,榪涜鏇挎崲鎿嶄綔,榪斿洖緇撴灉濡備笅錛?br>‘pOPedpopepill’銆?br>鍋囧grade.txt鏂囦歡涓?瀛︾敓J.Troll鐨勮褰曟湁涓や釜鍊間竴鏍?“鐩墠綰у埆鍒?#8221;涓?#8220;鏈楂樼駭鍒垎”銆傚彧<br>鏀瑰彉絎竴涓負29,絎簩涓粛涓?4涓嶅姩,鎿嶄綔鍛戒護涓簊ub(/26/,"29",$0),鍙浛鎹㈢涓涓嚭鐜?br>24鐨勪綅緗?br><br>$ awk '$1=="J.Troll" sub(/26/, "29", $0)' grade.txt<br>L.Troll 07/99 4842 Brown-3 12 29 26<br>L.Transley 05/99 4712 Brown-2 12 30 28<br><br><span style="FONT-WEIGHT: bold">7.substr</span><br>substr鏄竴涓緢鏈夌敤鐨勫嚱鏁般傚畠鎸夌収璧峰浣嶇疆鍙婇暱搴﹁繑鍥炲瓧絎︿覆鐨勪竴閮ㄥ垎銆備緥瀛愬涓嬶細<br><br>$ awk '$1=="L.Transley" {print substr($1, 1,5)}' grade.txt<br>L.Tan<br>涓婇潰渚嬪瓙涓?鎸囧畾鍦ㄥ煙1鐨勭涓涓瓧絎﹀紑濮?榪斿洖鍏跺墠闈?涓瓧絎︺?br>濡傛灉緇欏畾闀垮害鍊艱繙澶т簬瀛楃涓查暱搴︼紝 awk灝嗕粠璧峰浣嶇疆榪斿洖鎵鏈夊瓧絎︼紝瑕佹娊鍙朙.Tansley鐨勫,鍙渶浠庣3涓瓧絎﹀紑濮嬭繑鍥為暱搴︿負7銆傚彲浠ヨ緭鍏ラ暱搴?9,awk榪斿洖緇撴灉鐩稿悓銆?br><br>$ awk '{$1=="L.Transley" {print substr($1, 3,99)}' grade.txt<br>Transley<br><br>substr鐨勫彟涓縐嶅艦寮忔槸榪斿洖瀛楃涓插悗緙鎴栨寚瀹氫綅緗悗闈㈠瓧絎︺傝繖閲岄渶瑕佺粰鍑烘寚瀹氬瓧絎︿覆鍙婂叾榪斿洖瀛椾覆鐨勮搗濮嬩綅緗備緥濡?浠庢枃鏈枃浠朵腑鎶藉彇濮撴皬,闇鎿嶄綔鍩?,騫朵粠絎笁涓瓧絎﹀紑濮嬶細<br><br>$ awk '{print substr($1, 3)}' grade.txt<br>Troll<br>Transley<br><br>榪樻湁涓涓緥瀛?鍦˙EGIN閮ㄥ垎瀹氫箟瀛楃涓?鍦‥ND閮ㄥ垎榪斿洖浠庣t涓瓧絎﹀紑濮嬫娊鍙栫殑瀛愪覆銆?br><br>$ awk '{BEGIN STR="A FEW GOOD MEN"} END {print substr(STR,7)) grade.txt<br>GOOD MEN<br><br><span style="FONT-WEIGHT: bold">8.浠巗hell涓悜awk浼犲叆瀛楃涓?</span><br>awk鑴氭湰澶у鍙湁涓琛?鍏朵腑寰堝皯鏄瓧絎︿覆琛ㄧず鐨?榪欎竴鐐歸氳繃灝嗗彉閲忎紶鍏wk鍛戒護琛屼細鍙樺緱寰堝鏄撱傜幇灝卞叾鍩烘湰鍘熺悊璁茶堪涓浜涗緥瀛愩?br>浣跨敤綆¢亾灝嗗瓧絎︿覆stand-by浼犲叆awk,榪斿洖鍏墮暱搴︺?br><br>$ echo "Stand-by" | awk '{print length($0)}'<br>8<br><br>璁劇疆鏂囦歡鍚嶄負涓鍙橀噺,綆¢亾杈撳嚭鍒癮wk,榪斿洖涓嶅甫鎵╁睍鍚嶇殑鏂囦歡鍚嶃?br><br>$ STR="mydoc.txt"<br>$ echo $STR | awk '{print subst($STR, 1, 5)}'<br>mydoc<br><br>璁劇疆鏂囦歡鍚嶄負涓鍙橀噺,綆¢亾杈撳嚭鍒癮wk,鍙繑鍥炲叾鎵╁睍鍚嶃?br>$ STR="mydoc.txt"<br>$ echo $STR | awk '{print substr($STR, 7)}'<br>txt<br></span></div> <img src ="http://m.shnenglu.com/prayer/aggbug/110742.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/prayer/" target="_blank">Prayer</a> 2010-03-28 17:14 <a href="http://m.shnenglu.com/prayer/archive/2010/03/28/110742.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item></channel></rss> <a href="http://m.shnenglu.com/">青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品</a> <div style="position:fixed;left:-9000px;top:-9000px;"><font id="pjuwb"></font><button id="pjuwb"><pre id="pjuwb"></pre></button><sub id="pjuwb"></sub><tbody id="pjuwb"><var id="pjuwb"><address id="pjuwb"></address></var></tbody><listing id="pjuwb"><label id="pjuwb"><strong id="pjuwb"></strong></label></listing><wbr id="pjuwb"><small id="pjuwb"><tbody id="pjuwb"></tbody></small></wbr><ins id="pjuwb"><xmp id="pjuwb"></xmp></ins><style id="pjuwb"></style><label id="pjuwb"><em id="pjuwb"><li id="pjuwb"></li></em></label><samp id="pjuwb"></samp><menu id="pjuwb"><input id="pjuwb"></input></menu><pre id="pjuwb"><tbody id="pjuwb"><tfoot id="pjuwb"><button id="pjuwb"></button></tfoot></tbody></pre><form id="pjuwb"></form><i id="pjuwb"><style id="pjuwb"><label id="pjuwb"><sup id="pjuwb"></sup></label></style></i><li id="pjuwb"><table id="pjuwb"><abbr id="pjuwb"></abbr></table></li><video id="pjuwb"></video><dfn id="pjuwb"></dfn><progress id="pjuwb"></progress><strong id="pjuwb"></strong><mark id="pjuwb"></mark><em id="pjuwb"></em><tbody id="pjuwb"><p id="pjuwb"><strike id="pjuwb"><acronym id="pjuwb"></acronym></strike></p></tbody><option id="pjuwb"></option><strike id="pjuwb"></strike><u id="pjuwb"></u><td id="pjuwb"><center id="pjuwb"><tr id="pjuwb"></tr></center></td><em id="pjuwb"><mark id="pjuwb"><em id="pjuwb"><tt id="pjuwb"></tt></em></mark></em><strong id="pjuwb"></strong><wbr id="pjuwb"></wbr><s id="pjuwb"></s><strong id="pjuwb"></strong><legend id="pjuwb"></legend><nav id="pjuwb"></nav><dl id="pjuwb"><th id="pjuwb"><dl id="pjuwb"></dl></th></dl><noframes id="pjuwb"><ins id="pjuwb"></ins></noframes><font id="pjuwb"></font><strike id="pjuwb"><i id="pjuwb"><style id="pjuwb"><label id="pjuwb"></label></style></i></strike><output id="pjuwb"></output><thead id="pjuwb"><pre id="pjuwb"></pre></thead><source id="pjuwb"></source><menuitem id="pjuwb"><wbr id="pjuwb"></wbr></menuitem><pre id="pjuwb"><span id="pjuwb"><pre id="pjuwb"><big id="pjuwb"></big></pre></span></pre><cite id="pjuwb"><fieldset id="pjuwb"><s id="pjuwb"><rt id="pjuwb"></rt></s></fieldset></cite><big id="pjuwb"><progress id="pjuwb"><big id="pjuwb"></big></progress></big><samp id="pjuwb"><delect id="pjuwb"></delect></samp><dl id="pjuwb"></dl><strike id="pjuwb"><nav id="pjuwb"><dl id="pjuwb"><strong id="pjuwb"></strong></dl></nav></strike><tbody id="pjuwb"><b id="pjuwb"><optgroup id="pjuwb"><rp id="pjuwb"></rp></optgroup></b></tbody><em id="pjuwb"></em><xmp id="pjuwb"><blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote></xmp> <i id="pjuwb"><abbr id="pjuwb"><i id="pjuwb"><abbr id="pjuwb"></abbr></i></abbr></i><center id="pjuwb"><acronym id="pjuwb"><center id="pjuwb"></center></acronym></center><pre id="pjuwb"></pre><ul id="pjuwb"><thead id="pjuwb"></thead></ul><blockquote id="pjuwb"><pre id="pjuwb"><sup id="pjuwb"></sup></pre></blockquote><acronym id="pjuwb"></acronym><big id="pjuwb"><s id="pjuwb"></s></big><th id="pjuwb"></th><th id="pjuwb"></th><tbody id="pjuwb"></tbody><thead id="pjuwb"><strike id="pjuwb"></strike></thead><th id="pjuwb"><dl id="pjuwb"><wbr id="pjuwb"></wbr></dl></th><dl id="pjuwb"><strong id="pjuwb"></strong></dl><abbr id="pjuwb"><noframes id="pjuwb"><noscript id="pjuwb"></noscript></noframes></abbr><td id="pjuwb"><ol id="pjuwb"></ol></td><li id="pjuwb"><noscript id="pjuwb"><abbr id="pjuwb"></abbr></noscript></li><small id="pjuwb"><bdo id="pjuwb"><nav id="pjuwb"></nav></bdo></small><style id="pjuwb"></style><optgroup id="pjuwb"><table id="pjuwb"></table></optgroup><center id="pjuwb"><tr id="pjuwb"><dfn id="pjuwb"></dfn></tr></center><th id="pjuwb"></th><u id="pjuwb"></u><tfoot id="pjuwb"><legend id="pjuwb"><i id="pjuwb"></i></legend></tfoot><mark id="pjuwb"></mark><meter id="pjuwb"></meter><nav id="pjuwb"></nav><acronym id="pjuwb"><pre id="pjuwb"><acronym id="pjuwb"><ul id="pjuwb"></ul></acronym></pre></acronym><acronym id="pjuwb"><pre id="pjuwb"><acronym id="pjuwb"><ul id="pjuwb"></ul></acronym></pre></acronym><nobr id="pjuwb"></nobr><sub id="pjuwb"><th id="pjuwb"><menuitem id="pjuwb"><wbr id="pjuwb"></wbr></menuitem></th></sub><thead id="pjuwb"><sub id="pjuwb"></sub></thead><ul id="pjuwb"><address id="pjuwb"><menuitem id="pjuwb"><meter id="pjuwb"></meter></menuitem></address></ul><dfn id="pjuwb"></dfn><pre id="pjuwb"></pre><input id="pjuwb"><cite id="pjuwb"><fieldset id="pjuwb"></fieldset></cite></input><u id="pjuwb"><form id="pjuwb"><u id="pjuwb"></u></form></u><kbd id="pjuwb"><em id="pjuwb"><mark id="pjuwb"></mark></em></kbd><tr id="pjuwb"></tr><del id="pjuwb"><form id="pjuwb"><address id="pjuwb"></address></form></del><tfoot id="pjuwb"><legend id="pjuwb"><ol id="pjuwb"><dl id="pjuwb"></dl></ol></legend></tfoot><menu id="pjuwb"><nobr id="pjuwb"><th id="pjuwb"><nobr id="pjuwb"></nobr></th></nobr></menu><fieldset id="pjuwb"></fieldset><pre id="pjuwb"><blockquote id="pjuwb"><samp id="pjuwb"></samp></blockquote></pre><xmp id="pjuwb"><sup id="pjuwb"><pre id="pjuwb"></pre></sup></xmp><span id="pjuwb"><progress id="pjuwb"></progress></span><font id="pjuwb"></font><var id="pjuwb"><abbr id="pjuwb"></abbr></var><strong id="pjuwb"><label id="pjuwb"><i id="pjuwb"><legend id="pjuwb"></legend></i></label></strong><tr id="pjuwb"><em id="pjuwb"><em id="pjuwb"><output id="pjuwb"></output></em></em></tr><thead id="pjuwb"><strike id="pjuwb"></strike></thead> <acronym id="pjuwb"></acronym><i id="pjuwb"></i><tt id="pjuwb"></tt><rt id="pjuwb"><source id="pjuwb"><rt id="pjuwb"></rt></source></rt><strike id="pjuwb"><acronym id="pjuwb"></acronym></strike><del id="pjuwb"></del><font id="pjuwb"><output id="pjuwb"><ins id="pjuwb"><output id="pjuwb"></output></ins></output></font><kbd id="pjuwb"><tr id="pjuwb"><kbd id="pjuwb"></kbd></tr></kbd><pre id="pjuwb"><sup id="pjuwb"><delect id="pjuwb"><samp id="pjuwb"></samp></delect></sup></pre><samp id="pjuwb"></samp><track id="pjuwb"></track><tr id="pjuwb"></tr><center id="pjuwb"></center><fieldset id="pjuwb"></fieldset><i id="pjuwb"></i><td id="pjuwb"></td><rt id="pjuwb"></rt><object id="pjuwb"></object><pre id="pjuwb"><progress id="pjuwb"><sub id="pjuwb"><thead id="pjuwb"></thead></sub></progress></pre><kbd id="pjuwb"><tr id="pjuwb"><option id="pjuwb"></option></tr></kbd><output id="pjuwb"><ins id="pjuwb"></ins></output><ol id="pjuwb"></ol><source id="pjuwb"></source><strong id="pjuwb"></strong><ruby id="pjuwb"></ruby><sub id="pjuwb"><meter id="pjuwb"><menuitem id="pjuwb"><meter id="pjuwb"></meter></menuitem></meter></sub><pre id="pjuwb"></pre><center id="pjuwb"></center><tr id="pjuwb"><tbody id="pjuwb"><xmp id="pjuwb"><dd id="pjuwb"></dd></xmp></tbody></tr><video id="pjuwb"></video><pre id="pjuwb"></pre><form id="pjuwb"><optgroup id="pjuwb"></optgroup></form><samp id="pjuwb"></samp><kbd id="pjuwb"></kbd><strong id="pjuwb"><option id="pjuwb"></option></strong><object id="pjuwb"></object><abbr id="pjuwb"><noframes id="pjuwb"><abbr id="pjuwb"></abbr></noframes></abbr><ul id="pjuwb"><del id="pjuwb"><button id="pjuwb"><pre id="pjuwb"></pre></button></del></ul><abbr id="pjuwb"></abbr><strong id="pjuwb"><code id="pjuwb"><strong id="pjuwb"></strong></code></strong><option id="pjuwb"></option><optgroup id="pjuwb"><bdo id="pjuwb"><code id="pjuwb"></code></bdo></optgroup><mark id="pjuwb"><em id="pjuwb"><font id="pjuwb"></font></em></mark><acronym id="pjuwb"><code id="pjuwb"></code></acronym><dl id="pjuwb"></dl><em id="pjuwb"></em><object id="pjuwb"><input id="pjuwb"><object id="pjuwb"></object></input></object><output id="pjuwb"><dd id="pjuwb"></dd></output><option id="pjuwb"><button id="pjuwb"><option id="pjuwb"></option></button></option><small id="pjuwb"></small></div> <a href="http://91keshi.com" target="_blank">一本色道久久88综合亚洲精品ⅰ </a>| <a href="http://aqdit2022.com" target="_blank">国产欧美日韩一区二区三区</a>| <a href="http://zhaosaofu.com" target="_blank">这里只有精品视频</a>| <a href="http://kaijiepharm.com" target="_blank">久久精品国产v日韩v亚洲</a>| <a href="http://800716.com" target="_blank">91久久香蕉国产日韩欧美9色</a>| <a href="http://1000kongbao.com" target="_blank">亚洲欧洲av一区二区</a>| <a href="http://373336.com" target="_blank">1000部精品久久久久久久久</a>| <a href="http://88848885.com" target="_blank">亚洲性视频h</a>| <a href="http://521531.com" target="_blank">欧美成人dvd在线视频</a>| <a href="http://16355t.com" target="_blank">久久精品国产第一区二区三区</a>| <a href="http://www47067.com" target="_blank">永久免费毛片在线播放不卡</a>| <a href="http://www-76577c.com" target="_blank">伊人男人综合视频网</a>| <a href="http://tareandshare.com" target="_blank">在线观看免费视频综合</a>| <a href="http://8eya.com" target="_blank">最新国产乱人伦偷精品免费网站</a>| <a href="http://di4see.com" target="_blank">亚洲激情在线观看</a>| <a href="http://ximaimicro.com" target="_blank">日韩视频在线免费</a>| <a href="http://chainhuayu.com" target="_blank">欧美在线关看</a>| <a href="http://jxyptsw.com" target="_blank">最新国产拍偷乱拍精品</a>| <a href="http://bixiuge.com" target="_blank">亚洲国产影院</a>| <a href="http://855821.com" target="_blank">久久精品成人欧美大片古装</a>| <a href="http://707fx.com" target="_blank">久久亚洲欧美</a>| <a href="http://9797690.com" target="_blank">国产欧美日韩不卡免费</a>| <a href="http://miaoxp.com" target="_blank">亚洲精品视频在线看</a>| <a href="http://4y9k.com" target="_blank">欧美一区二视频</a>| <a href="http://syfeichi.com" target="_blank">欧美jizzhd精品欧美巨大免费</a>| <a href="http://submro.com" target="_blank">亚洲网站在线</a>| <a href="http://szth186.com" target="_blank">91久久亚洲</a>| <a href="http://www-293456.com" target="_blank">这里只有视频精品</a>| <a href="http://hcbr365.com" target="_blank">蜜桃av久久久亚洲精品</a>| <a href="http://www930666.com" target="_blank">欧美激情精品久久久久久蜜臀 </a>| <a href="http://muwendada.com" target="_blank">伊人久久大香线蕉av超碰演员</a>| <a href="http://instantptt.com" target="_blank">久久久久久亚洲精品杨幂换脸</a>| <a href="http://9e67.com" target="_blank">欧美电影免费观看网站</a>| <a href="http://3838418.com" target="_blank">欧美成人精品福利</a>| <a href="http://ayxchc.com" target="_blank">国产欧美亚洲日本</a>| <a href="http://830085.com" target="_blank">亚洲欧美激情四射在线日</a>| <a href="http://hzjqkj.com" target="_blank">在线播放精品</a>| <a href="http://wwwlywbb.com" target="_blank">你懂的亚洲视频</a>| <a href="http://51jieyanla.com" target="_blank">亚洲一区二区三</a>| <a href="http://hcbr365.com" target="_blank">欧美成人在线网站</a>| <a href="http://chaoporn97.com" target="_blank">av成人福利</a>| <a href="http://vipaiqiyi.com" target="_blank">亚洲一区二区av电影</a>| <a href="http://497988.com" target="_blank">亚洲日本欧美在线</a>| <a href="http://6666345.com" target="_blank">欧美日韩国产区一</a>| <a href="http://173881.com" target="_blank">欧美日韩直播</a>| <a href="http://bjjxgcsxy.com" target="_blank">国产视频精品xxxx</a>| <a href="http://497n.com" target="_blank">影音先锋久久资源网</a>| <a href="http://jav69me.com" target="_blank">亚洲视频在线观看</a>| <a href="http://9882355.com" target="_blank">亚洲综合欧美</a>| <a href="http://saox28.com" target="_blank">久久久久久亚洲精品不卡4k岛国</a>| <a href="http://xashp.com" target="_blank">亚洲国产精品va在线看黑人动漫</a>| <a href="http://596361.com" target="_blank">亚洲精品免费在线播放</a>| <a href="http://kittybob.com" target="_blank">性欧美在线看片a免费观看</a>| <a href="http://smdzs.com" target="_blank">久久国产直播</a>| <a href="http://wwwmm7777.com" target="_blank">欧美日韩免费看</a>| <a href="http://jdavmm.com" target="_blank">亚洲国产欧美一区</a>| <a href="http://55kam.com" target="_blank">久久精品网址</a>| <a href="http://ju5558.com" target="_blank">亚洲欧美日韩国产</a>| <a href="http://m-pisiwa.com" target="_blank">久久精品一区蜜桃臀影院 </a>| <a href="http://5757ff.com" target="_blank">欧美日韩在线综合</a>| <a href="http://596361.com" target="_blank">亚洲三级毛片</a>| <a href="http://域名" target="_blank">99精品欧美一区二区三区</a>| <a href="http://wzlingfeng.com" target="_blank">欧美电影打屁股sp</a>| <a href="http://149155.com" target="_blank">亚洲一区二区三区激情</a>| <a href="http://smiczbb.com" target="_blank">午夜久久99</a>| <a href="http://smdzs.com" target="_blank">久久国产天堂福利天堂</a>| <a href="http://fsxinruiph.com" target="_blank">亚洲精品专区</a>| <a href="http://yw3329.com" target="_blank">99精品久久久</a>| <a href="http://04oy.com" target="_blank">亚洲精品日韩一</a>| <a href="http://666777v3.com" target="_blank">久久精品亚洲一区</a>| <a href="http://missav88.com" target="_blank">一区二区三区四区五区精品</a>| <a href="http://zhuankee.com" target="_blank">欧美在线观看网址综合</a>| <a href="http://www297777.com" target="_blank">日韩视频免费观看高清在线视频 </a>| <a href="http://mimi78.com" target="_blank">欧美sm视频</a>| <a href="http://saobi6.com" target="_blank">亚洲国产一区二区三区a毛片</a>| <a href="http://hicao32.com" target="_blank">久久黄色影院</a>| <a href="http://haoa009.com" target="_blank">欧美在线免费看</a>| <a href="http://7v51.com" target="_blank">亚洲国产精品精华液2区45</a>| <a href="http://173881.com" target="_blank">欧美xxx在线观看</a>| <a href="http://shwazrbjd.com" target="_blank">欧美激情在线狂野欧美精品</a>| <a href="http://jzsp101.com" target="_blank">亚洲韩国日本中文字幕</a>| <a href="http://xiuren2021.com" target="_blank">欧美激情第1页</a>| <a href="http://497988.com" target="_blank">欧美日韩一区二区三</a>| <a href="http://chengli88.com" target="_blank">久久精品动漫</a>| <a href="http://448968.com" target="_blank">欧美mv日韩mv国产网站app</a>| <a href="http://heshundadi.com" target="_blank">99精品国产在热久久</a>| <a href="http://4009935888.com" target="_blank">亚洲精品乱码久久久久久日本蜜臀</a>| <a href="http://22400com.com" target="_blank">欧美激情一区二区三区在线视频观看</a>| <a href="http://807225.com" target="_blank">av成人天堂</a>| <a href="http://dzyhjx.com" target="_blank">蜜臀av一级做a爰片久久</a>| <a href="http://6faa.com" target="_blank">亚洲视频一区在线观看</a>| <a href="http://9927tv.com" target="_blank">久久日韩精品</a>| <a href="http://zjkgjt.com" target="_blank">久久精品国产2020观看福利</a>| <a href="http://26163c.com" target="_blank">农村妇女精品</a>| <a href="http://91keshi.com" target="_blank">欧美一级片在线播放</a>| <a href="http://tutu80.com" target="_blank">欧美激情视频一区二区三区在线播放 </a>| <a href="http://69jp.com" target="_blank">夜夜嗨av一区二区三区网站四季av</a>| <a href="http://l5076.com" target="_blank">久久九九久久九九</a>| <a href="http://maisuper.com" target="_blank">亚洲欧美网站</a>| <a href="http://8eeeccc.com" target="_blank">欧美激情一区二区三区全黄</a>| <a href="http://mathck.com" target="_blank">欧美国产亚洲另类动漫</a>| <a href="http://246767.com" target="_blank">精品成人a区在线观看</a>| <a href="http://www57669.com" target="_blank">欧美一二三区在线观看</a>| <a href="http://3233328.com" target="_blank">亚洲精品久久久久久久久久久久久 </a>| <a href="http://0359222.com" target="_blank">久久精品一级爱片</a>| <a href="http://3451215.com" target="_blank">亚洲韩国日本中文字幕</a>| <a href="http://223tt.com" target="_blank">国产精品swag</a>| <a href="http://3dmh329.com" target="_blank">欧美aⅴ99久久黑人专区</a>| <a href="http://xiehaihua.com" target="_blank">午夜久久电影网</a>| <a href="http://www-44469.com" target="_blank">99v久久综合狠狠综合久久</a>| <a href="http://3s3v.com" target="_blank">久久夜色撩人精品</a>| <a href="http://7171152.com" target="_blank">午夜性色一区二区三区免费视频</a>| <a href="http://bixiuge.com" target="_blank">亚洲国产婷婷</a>| <a href="http://amass-ic.com" target="_blank">亚洲人成人77777线观看</a>| <a href="http://zhxjl.com" target="_blank">亚洲日本乱码在线观看</a>| <a href="http://yanuoxun.com" target="_blank">性亚洲最疯狂xxxx高清</a>| <a href="http://5xxm.com" target="_blank">久久精品国产在热久久</a>| <a href="http://diao66.com" target="_blank">激情六月婷婷综合</a>| <a href="http://cqjk120.com" target="_blank">久久久久九九九</a>| <a href="http://www49718.com" target="_blank">欧美福利电影网</a>| <a href="http://495177.com" target="_blank">亚洲视频axxx</a>| <a href="http://clwjbcxs.com" target="_blank">国产精品久久久久久久免费软件</a>| <a href="http://01xxtv.com" target="_blank">亚洲一区二区在线看</a>| <a href="http://www-293456.com" target="_blank">欧美激情视频在线免费观看 欧美视频免费一</a>| <a href="http://yishangsh.com" target="_blank">香蕉久久国产</a>| <a href="http://njhuike.com" target="_blank">欧美在线视频二区</a>| <a href="http://miya2223.com" target="_blank">亚洲永久在线</a>| <a href="http://163263.com" target="_blank">亚洲午夜av电影</a>| <a href="http://sxhrsmjj.com" target="_blank">亚洲一区二区不卡免费</a>| <a href="http://xhs015.com" target="_blank">日韩视频在线你懂得</a>| <a href="http://yqr55.com" target="_blank">日韩亚洲综合在线</a>| <a href="http://jnjpsm.com" target="_blank">亚洲欧美日韩国产一区二区三区 </a>| <a href="http://dd8uau0ncu.com" target="_blank">欧美成人午夜影院</a>| <a href="http://www-78733.com" target="_blank">久热精品在线视频</a>| <a href="http://300644.com" target="_blank">快播亚洲色图</a>| <a href="http://1177898.com" target="_blank">免费不卡在线观看</a>| <a href="http://6055365.com" target="_blank">亚洲人成77777在线观看网</a>| <a href="http://chongpiapia.com" target="_blank">久久国产一区二区</a>| <a href="http://www-87633.com" target="_blank">久久久久综合网</a>| <a href="http://www-4890.com" target="_blank">欧美在线视频在线播放完整版免费观看 </a>| <a href="http://2502255.com" target="_blank">中日韩高清电影网</a>| <a href="http://05511253.com" target="_blank">亚洲日本精品国产第一区</a>| <a href="http://bjrailtech.com" target="_blank">国产精品美女视频网站</a>| <a href="http://vvvv81.com" target="_blank">国一区二区在线观看</a>| <a href="http://777888789.com" target="_blank">国产中文一区</a>| <a href="http://4388x3.com" target="_blank">国产精品一区二区你懂的</a>| <a href="http://987kt.com" target="_blank">国产精品久久久久9999</a>| <a href="http://my7877.com" target="_blank">国产精品爱久久久久久久</a>| <a href="http://evaporsllc.com" target="_blank">欧美手机在线视频</a>| <a href="http://zhxjl.com" target="_blank">国产深夜精品</a>| <a href="http://xxdd51.com" target="_blank">欧美日韩激情网</a>| <a href="http://df7166.com" target="_blank">国产精品ⅴa在线观看h</a>| <a href="http://seqingdao.com" target="_blank">欧美日韩国产成人在线免费</a>| <a href="http://969093.com" target="_blank">国产综合网站</a>| <a href="http://7282789.com" target="_blank">夜夜嗨av一区二区三区</a>| <a href="http://0061366.com" target="_blank">欧美国产1区2区</a>| <a href="http://989p.com" target="_blank">久久全球大尺度高清视频</a>| <a href="http://7770790.com" target="_blank">欧美风情在线观看</a>| <a href="http://d1112.com" target="_blank">国产精品99免视看9</a>| <a href="http://yssnlp.com" target="_blank">国产欧美综合一区二区三区</a>| <a href="http://www33444.com" target="_blank">国产日韩在线播放</a>| <a href="http://xissy.com" target="_blank">一本久道久久综合中文字幕</a>| <a href="http://xsjj10.com" target="_blank">亚洲欧美日韩中文视频</a>| <a href="http://chinagreetown.com" target="_blank">性色av一区二区怡红</a>| <a href="http://xigou666.com" target="_blank">欧美凹凸一区二区三区视频</a>| <a href="http://nagebbs.com" target="_blank">在线视频日本亚洲性</a>| <a href="http://luqintang.com" target="_blank">久久免费观看视频</a>| <a href="http://sishengnv.com" target="_blank">国产日韩欧美自拍</a>| <a href="http://551692.com" target="_blank">亚洲天天影视</a>| <a href="http://ckk755.com" target="_blank">免费国产一区二区</a>| <a href="http://wwwp6660.com" target="_blank">久久国产精品色婷婷</a>| <a href="http://yw1396.com" target="_blank">欧美日韩系列</a>| <a href="http://3344xo.com" target="_blank">在线欧美影院</a>| <a href="http://www369cf.com" target="_blank">蜜臀久久久99精品久久久久久</a>| <a href="http://mishangmi.com" target="_blank">欧美国产日产韩国视频</a>| <a href="http://xiaofan123.com" target="_blank">欧美91精品</a>| <a href="http://036762.com" target="_blank">亚洲人成在线播放网站岛国</a>| <a href="http://bjmrkj.com" target="_blank">欧美影片第一页</a>| <a href="http://atmub.com" target="_blank">亚洲男人第一av网站</a>| <a href="http://136hao.com" target="_blank">国产欧美一区二区精品性色</a>| <a href="http://nvpuwo22.com" target="_blank">亚洲欧美成人一区二区三区</a>| <a href="http://toomicsvip.com" target="_blank">亚洲男同1069视频</a>| <a href="http://0855d.com" target="_blank">国产欧美一区二区三区另类精品</a>| <a href="http://99hhbb.com" target="_blank">亚洲视频在线观看免费</a>| <a href="http://caoav8.com" target="_blank">欧美一区=区</a>| <a href="http://ewaygou.com" target="_blank">韩国三级电影一区二区</a>| <a href="http://012492.com" target="_blank">美女成人午夜</a>| <a href="http://kissgz.com" target="_blank">欧美日本一区</a>| <a href="http://yp77741.com" target="_blank">亚洲直播在线一区</a>| <a href="http://72966t.com" target="_blank">久久久久久尹人网香蕉</a>| <a href="http://kpd034.com" target="_blank">亚洲裸体在线观看</a>| <a href="http://g2000vip.com" target="_blank">亚洲私拍自拍</a>| <a href="http://zgslwtc.com" target="_blank">亚洲大片在线</a>| <a href="http://wwwq4yy.com" target="_blank">一本久久综合</a>| <a href="http://ccc159.com" target="_blank">在线观看日韩av电影</a>| <a href="http://www30bxbx.com" target="_blank">欧美成人免费在线观看</a>| <a href="http://72avav.com" target="_blank">国产精品久久久久久福利一牛影视</a>| <a href="http://418ch.com" target="_blank">亚洲香蕉网站</a>| <a href="http://oimeal.com" target="_blank">国产精品多人</a>| <a href="http://www433444.com" target="_blank">亚洲经典在线</a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>