Linux經常使用知識點整理

1、sed命令html

語法:java

sed [OPTION]... {script-only-if-no-other-script} [input-file]...

sed命令詳解:linux

選項與參數:
-n :使用安靜(silent)模式。在通常 sed 的用法中,全部來自 STDIN 的數據通常都會被列出到終端上。但若是加上 -n 參數後,則只有通過sed 特殊處理的那一行(或者動做)纔會被列出來。
-e :直接在命令列模式上進行 sed 的動做編輯;
-f :直接將 sed 的動做寫在一個文件內, -f filename 則能夠運行 filename 內的 sed 動做;
-r :sed 的動做支持的是延伸型正規表示法的語法。(默認是基礎正規表示法語法)
-i :直接修改讀取的文件內容,而不是輸出到終端。
動做說明: [n1[,n2]]function
n1, n2 :不見得會存在,通常表明『選擇進行動做的行數』,舉例來講,若是個人動做是須要在 10 到 20 行之間進行的,則[10,20[動做行爲]]function:
a :新增, a 的後面能夠接字串,而這些字串會在新的一行出現(目前的下一行)~
c :取代, c 的後面能夠接字串,這些字串能夠取代 n1,n2 之間的行!
d :刪除,由於是刪除啊,因此 d 後面一般不接任何咚咚;
i :插入, i 的後面能夠接字串,而這些字串會在新的一行出現(目前的上一行);
p :列印,亦即將某個選擇的數據印出。一般 p 會與參數 sed -n 一塊兒運行~
s :取代,能夠直接進行取代的工做哩!一般這個 s 的動做能夠搭配正規表示法!例如 1,20s/old/new/g 就是啦!

示例:shell

sed '2,5d'                              #刪除第2-5行,使用nl命令能夠查看文件的行號
sed '2d'                                #刪除第二行
sed '3,$d'                              #刪除第三至最後一行
sed '2a drink tea'                      #在第二行後(亦便是加在第三行)加上『drink tea』字樣!
sed '2i drink tea'                      #在第二行前加上『drink tea』字樣!
sed '2a Drink tea or ......\            #增長兩行以上,在第二行後面加入兩行字,例如『Drink tea or .....』與『drink beer?』。每一行的最後加上\表示輸入沒有結束,而且換行了。
sed '2,5c No 2-5 number'                #第2-5行的內容取代成爲『No 2-5 number』
sed -n '5,7p'                           #列出 /etc/passwd 文件內的第 5-7 行

來源:http://www.jb51.net/LINUXjishu/144593.htmlspa

2、linux中{}和()執行命令的方式 .net

1.{  }形式code

 {  echo "User report for `date`.";who; } | pr  #pr:convert text files for printing

    應該注意的:左括號「{」後面應有一個空格;右括號「}」以前應有一個分號(;)。htm

    花括號也能夠包含若干單獨佔一行的命令:進程

    {  echo "User report for `date`."ip

       echo  "There are `who|wc -l` users logged in."

       who|sort;  } | pr

    花括號中的命令表必須用分號或者換行符終止。

2.( )形式

     (echo "User report for `date`.";who) | pr

     如上所示,在用圓括號括起成組命令時,左括號後沒必要有空格,右括號以前也不需加上分號。


    二者的區別:用花括號括起來的成組命令只是在本shell內執行命令表,不產生新的進程;而用圓括號括起來的成組命令式在新的子shell內執行,要創建新的子進程,不會改變父shell的變量值及工做目錄。


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

相關文章
相關標籤/搜索