亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
12下一頁
最近訪問板塊 發(fā)新帖
查看: 11657 | 回復(fù): 15
打印 上一主題 下一主題

[原創(chuàng)]:說說sed中引號的用法(拋磚引玉。  關(guān)閉 [復(fù)制鏈接]

論壇徽章:
1
榮譽(yù)版主
日期:2011-11-23 16:44:17
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2003-08-02 08:43 |只看該作者 |倒序瀏覽
引號(" ')在shell編程中起著相當(dāng)重要的腳色,應(yīng)用得當(dāng),則程序易寫易讀,簡潔明快,否則,會讓人頭痛不已!兵書說“運(yùn)用之妙,存乎于心!”,下面就自己最近學(xué)習(xí)中的一點(diǎn)心得,與朋友們交流,希望得到大家的斧正!
其實在sed中使用shell變量相對來說還是比較簡單的,關(guān)鍵是引號的用法:
比如:
借用yoursmile朋友的數(shù)據(jù)
  1. cat file
  2. 1 192.148.99.253 [17/Jun/2003:11:25:44 /sc
  3. 2 192.148.99.253 [17/Jun/2003:11:18:21 /si
  4. 1 192.148.99.253 [17/Jun/2003:11:20:34 /sp
  5. 2 192.148.99.253 [17/Jun/2003:11:18:13 /ap
  6. 1 192.148.99.253 [17/Jun/2003:11:17:30 /hou/
  7. 1 192.93.108.187 [17/Jun/2003:14:49:14 /sc
  8. 3 192.93.108.187 [17/Jun/2003:14:39:11 /si
  9. 5 192.68.82.78   [05/Jun/2003:00:05:45 /hou/
  10. 9 192.68.82.78   [05/Jun/2003:00:05:45 /ss
  11. 4 192.228.210.10 [16/Jun/2003:09:29:30 /hou/
復(fù)制代碼
d=6
取文件的第六行,則
單引號
  1. sed -n ''"$d"'/p'  file
  2. 1 192.93.108.187 [17/Jun/2003:14:49:14 /sc
復(fù)制代碼

雙引號
  1. sed -n "$d"p file  or  sed -n "$a9ur7n9vtp" file
  2. 1 192.93.108.187 [17/Jun/2003:14:49:14 /sc
復(fù)制代碼

結(jié)果完全相同。
又:
取文件的第1到第6行,則:
單引號:
  1. sed -n '1,'"$d"'p' file
  2. 1 192.148.99.253 [17/Jun/2003:11:25:44 /sc
  3. 2 192.148.99.253 [17/Jun/2003:11:18:21 /si
  4. 1 192.148.99.253 [17/Jun/2003:11:20:34 /sp
  5. 2 192.148.99.253 [17/Jun/2003:11:18:13 /ap
  6. 1 192.148.99.253 [17/Jun/2003:11:17:30 /hou/
  7. 1 192.93.108.187 [17/Jun/2003:14:49:14 /sc
復(fù)制代碼

雙引號:
  1. sed -n "1,$d"p file  or  sed -n "1,$a9ur7n9vtp"  file
  2. 1 192.148.99.253 [17/Jun/2003:11:25:44 /sc
  3. 2 192.148.99.253 [17/Jun/2003:11:18:21 /si
  4. 1 192.148.99.253 [17/Jun/2003:11:20:34 /sp
  5. 2 192.148.99.253 [17/Jun/2003:11:18:13 /ap
  6. 1 192.148.99.253 [17/Jun/2003:11:17:30 /hou/
  7. 1 192.93.108.187 [17/Jun/2003:14:49:14 /sc
復(fù)制代碼

取第6行到文件尾
單引號:
  1. sed -n ''"$d"',$p' file
  2. 1 192.93.108.187 [17/Jun/2003:14:49:14 /sc
  3. 3 192.93.108.187 [17/Jun/2003:14:39:11 /si
  4. 5 192.68.82.78   [05/Jun/2003:00:05:45 /hou/
  5. 9 192.68.82.78   [05/Jun/2003:00:05:45 /ss
  6. 4 192.228.210.10 [16/Jun/2003:09:29:30 /hou/
復(fù)制代碼

雙引號:
  1. sed -n "$d,\$p"  file  or  sed -n "$d,$"p
  2. 1 192.93.108.187 [17/Jun/2003:14:49:14 /sc
  3. 3 192.93.108.187 [17/Jun/2003:14:39:11 /si
  4. 5 192.68.82.78   [05/Jun/2003:00:05:45 /hou/
  5. 9 192.68.82.78   [05/Jun/2003:00:05:45 /ss
  6. 4 192.228.210.10 [16/Jun/2003:09:29:30 /hou/
復(fù)制代碼

如果上面的6保存在一個line的文件中(該文件中只此一行時!),則
單引號:
  1. sed -e ''"`cat line`"'p' file
  2. 1 192.93.108.187 [17/Jun/2003:14:49:14 /sc
復(fù)制代碼

雙引號:
  1. sed -n "`cat line`"p file
  2. 1 192.93.108.187 [17/Jun/2003:14:49:14 /sc
復(fù)制代碼

從上面的例子可以看出,引號的應(yīng)用,是乎是有講究的,只要靈活應(yīng)用,就可使代碼簡潔明快,看起來舒服,用起來舒心,寫起來方便!
簡而言之:凡是要引用shell變量時,最好使用雙引號“"”做sed的定界符,這樣會更方便些,但要使用雙引號一定要注意避免shell解釋sed命令,比如“$p”原意為打印文件末行,但shell會解釋為取變量p的值,因此在使用中要加以注意,可用“\$p”或“"$"p”等方式來解決此類問題。

論壇徽章:
0
2 [報告]
發(fā)表于 2003-08-02 20:58 |只看該作者

[原創(chuàng)]:說說sed中引號的用法(拋磚引玉。

謝謝!好東東!建議大師用顏色區(qū)分一下各引號,便于初學(xué)者。

加精吧。!

論壇徽章:
0
3 [報告]
發(fā)表于 2003-08-10 20:59 |只看該作者

[原創(chuàng)]:說說sed中引號的用法(拋磚引玉。

Very Good!


總結(jié)的好啊。

論壇徽章:
0
4 [報告]
發(fā)表于 2003-08-10 23:33 |只看該作者

[原創(chuàng)]:說說sed中引號的用法(拋磚引玉!)

雖說" '這類的符號在shell中很不起眼,但是能真正把這些符號運(yùn)用得自如的卻很少!
--我們要用符號控制我們的電腦!

論壇徽章:
0
5 [報告]
發(fā)表于 2003-08-11 08:29 |只看該作者

[原創(chuàng)]:說說sed中引號的用法(拋磚引玉。

原帖由 "bjgirl" 發(fā)表:

我們要用符號控制我們的電腦!
   

有點(diǎn)預(yù)言家的味道!~

論壇徽章:
0
6 [報告]
發(fā)表于 2003-08-11 09:40 |只看該作者

[原創(chuàng)]:說說sed中引號的用法(拋磚引玉。

收了

論壇徽章:
1
榮譽(yù)版主
日期:2011-11-23 16:44:17
7 [報告]
發(fā)表于 2003-08-11 10:26 |只看該作者

[原創(chuàng)]:說說sed中引號的用法(拋磚引玉。

獲益非淺 ...

論壇徽章:
0
8 [報告]
發(fā)表于 2003-08-11 10:29 |只看該作者

[原創(chuàng)]:說說sed中引號的用法(拋磚引玉。

簡直就是符號殺手!

論壇徽章:
1
榮譽(yù)版主
日期:2011-11-23 16:44:17
9 [報告]
發(fā)表于 2003-08-11 12:21 |只看該作者

[原創(chuàng)]:說說sed中引號的用法(拋磚引玉!)

[quote]原帖由 "xingj_h"]簡直就是符號殺手![/quote 發(fā)表:
   
太夸張了吧?!     
希望能盡早看見你的符號精靈!
加油。

論壇徽章:
0
10 [報告]
發(fā)表于 2003-08-11 13:41 |只看該作者

[原創(chuàng)]:說說sed中引號的用法(拋磚引玉。

對引號處理不清楚的,建議讀:
Unix® Shell Programming, Third Edition
Chapter 6. Can I Quote You on That?

概括如下:
1、單引號:所有內(nèi)容都留給應(yīng)用解釋
2、雙引號:除Dollar signs,Back quotes,Backslashes外,所有內(nèi)容留給應(yīng)用解釋。
3、Backslash相當(dāng)于將跟隨字符用單引號處理。

幫樓主明確一下,呵呵。
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP