小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

sed一些常用命令

 某某某1014 2014-09-15
下面是我學習sed時參照參考書總結的一些常用sed命令,基本上每條語句都進行了調試
1.打印文件的第二行
sed -n '2p' file
2.打印1到3行
sed -n '1,3p' file
3.品配單詞用/patten/模式,eg,/Hello/
sed -n '/Hello/'p file
4.使用模式和行號進行品配,在第4行查詢Hello
sed -n '4,/Hello/' file
5.配原字符(顯示原字符$之前,必須使用\屏蔽其特殊含義)
sed -n '/\$/'p file
上述命令將把file中含有$的行打印出來
6.顯示整個文件(只需將范圍設置為1到最后于一行)
$代表最后一行
sed -n '1,$p' file
7.任意字符 ,模式/.*/,如/.*ing/匹配任意以ing結尾的單詞
sed -n '/.*ing/'p file
8.打印首行
sed -n '1p' file
9.打印尾行
sed -n '$p' file
10.打印行號
  sed -e '/beijing/=' file #整個文件都打印出來,并且匹配行打印了行號。
如果只關心實際行號,使用-n選項。
sed -n '/beijing/=' file
如果只打印行號及匹配行,必須使用兩個sed命令,并使用e選項。第一個命令打印模式匹配行,第二個使用=選項打印行號,
格式為sed -n -e '/pattern/p' -e '/pattern/=' file。
sed -n -e '/beijing/p' -e '/beijing/=' file
11.創(chuàng)建sed腳本文件
(1)
#!/bin/sed -f
#filename:append.sed
 /beijing/ a\ #插入beijing之后
"Then suddenly it happend!"

chmod u+x append.sed
./append.sed file將把“Then suddenly it happend!”添加到file中beijing后面的下一行

(2)
#!/bin/sed -f
#filename:append.sed
 /beijing/ i\ #插入beijing之前
"Then suddenly it happend!"

chmod u+x append.sed
./append.sed file將把“Then suddenly it happend!”添加到file中beijing前面一行
12.修改文本
(1)
#!/bin/sed -f
#filename:changed
/beijing/ c\
xi'an       
上述腳本將beijing替換為xi'an
(2)
像插入動作一樣,可以使用行號代替模式,兩種方式完成相同的功能
#!/bin/sed -f
#filename:changed
4 c\
xi'an
將第四行的內容替換為xi'an
$代表最后一行

13.刪除文本
刪除第一行;1d意為刪除第一行。
sed '1d' file
刪除1到3行
sed '1,3d' file
刪除最后一行
sed '$d' file
刪除包含beijing的行
sed '/beijing/d' file

14.替換
替換命令用替換模式替換指定模式,格式為:
[ address [,address]] s/ pattern-to-find /replacement-pattern/[g p w n]

sed 's/cao/HU/' file #將file中的cao替換為HU,實際上是將所有的cao替換為HU(我實驗的時候是這樣的)
sed 's/\$//' file #將file中的$用空替換(刪除)

要進行全局替換,即替換所有出現模式,只需在命令后加g選項。下面的例子將所有cao替換成hu!。
sed 's/cao/hu/g' file

將替換結果寫入一個文件用w選項,下面的例子將cao替換為CAO的替換結果寫入文件sed.out:
sed 's/cao/CAO/w sed.out' file

15.使用替換修改字符串
果要附加或修改一個字符串,可以使用( &)命令,&命令保存發(fā)現模式以便重新調用
它,然后把它放在替換字符串里面。這里給出一個修改的設計思路。先給出一個被替換模式,
然后是一個準備附加在第一個模式后的另一個模式,并且后面帶有&,這樣修改模式將放在
匹配模式之前。例如, sed語句s/wrong/"badly"&/p 的結果如下
sed -n 's/wrong/badly &/p' file
There is something badly wrong with the car!

原句是:There is something wrong with the car!
16.將sed結果寫入文件命令
格式為:[ address [,address]]w filename
eg:sed '1,2 w fileout' file
文件file輸出到屏幕。模式范圍即1,2行輸出到文件fileout

下面例子中查詢模式There,匹配結果行寫入文件fileout1。
sed '/There/ w fileout1' file

17.從文件中讀取數據
address r filename
創(chuàng)建文件newfile,內容為:
Hello nihao!
Welcome Beijing!
將newfle中的內容加到file中
sed '/car!/ r newfile' file#將newfile中的內容添加顯示到file中car!后面
sed -i '/car!/ r newfile' file#將newfile中的內容添加到filefile中的car!后面

18.匹配后退出
-q

sed '/cao.*/q' file#實現匹配后退出

19.處理控制字符
用一個空格替換兩個或更多的#符號。
sed 's/##*//g' file
刪除所有行首的0
sed 's/^0//g' file

要產生控制字符( ^ M),步驟如下;鍵入sed s/,然后按住< Ctrl>鍵和v鍵,釋放v鍵,再按住^鍵,并保持< Ctrl>鍵不動,再釋放兩個鍵,最后
按< return>鍵。下面命令去除行尾^ M字符。
sed -i 's/^^M//g' file


20.處理報文輸出
Database    Size(MB)   Data Created
-----------------------------------
GOSOUTH      2048      12/11/08
TRISUD       5643      12/05/09
(2 rows affected)
為了使用上述輸出信息(文件名是data.txt)做進一步自動處理,需要知道所存數據庫名稱,為此需執(zhí)行以下
操作:
1) 使用s /-*// g刪除橫線- - - - - -。
2) 使用/^$/ d刪除空行。
3) 使用$d刪除最后一行
4) 使用1d刪除第一行。
5) 使用awk {print $1}打印第一列。
命令如下,這里使用了cat,并管道傳送結果到sed命令。
cat data.txt | sed 's/--*//g' | sed '/^$/d' | sed '$d' |sed '1d' |awk '{print $1}'

21.去除行首數字
sed 's/[0-9]//g' data.txt

22附加文本
sed 's/[0-9][0-9]*/& OK/g' data.txt #實現向data.txt中的每行中數字后面加上OK
如:原文是
Database    Size(MB)   Data Created
-----------------------------------
GOSOUTH      2048      12/11/08
TRISUD       5643      12/05/09
(2 rows affected)
125178 before
caojian 23
234 shanghai
執(zhí)行命令后
Database    Size(MB)   Data Created
-----------------------------------
GOSOUTH      2048 OK      12 OK/11 OK/08 OK
TRISUD       5643 OK      12 OK/05 OK/09 OK
(2 OK rows affected)
125178 OK before
caojian 23 OK
234 OK shanghai

23.從shell中向sed傳值
$NAME="It's a good idea"
$REPLACE="excelent"
$NEW=`echo $NAME | sed s/good/$NEW/g" `
$echo $NEW
It's a excelent idea!





    本站是提供個人知識管理的網絡存儲空間,所有內容均由用戶發(fā)布,不代表本站觀點。請注意甄別內容中的聯系方式、誘導購買等信息,謹防詐騙。如發(fā)現有害或侵權內容,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多