日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Ubuntu >内容正文

Ubuntu

ubuntu下sed命令详解 - Dicky - 开源中国社区

發布時間:2023/12/8 Ubuntu 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ubuntu下sed命令详解 - Dicky - 开源中国社区 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
ubuntu下sed命令詳解 - Dicky - 開源中國社區

ubuntu下sed命令詳解 - Dicky - 開源中國社區

??? ubuntu下sed命令詳解
??? 7人收藏此文章, 我要收藏 發表于2個月前(2012-11-05 02:01) , 已有57次閱讀 ,共0個評論

??? sed簡介
????????????????? sed是一種非交互式的流編輯器,可動態編輯文件。所謂非交互式是說,sed和傳統的文本編輯器不同,并非和使用者直接互動,sed處理的對象是文件的數據流(稱為stream/流)。sed的工作模式是,比對每一數據行,若符合樣式,就執行指定的操作。
????????????????? sed --version?????? //查看sed版本
???????? sed語法
????????????????? sed '操作命令'? 操作對象???
????????? 特別注意:sed并不會更改文件內容。sed的工作方式是讀取文件內容,經流編輯之后,把結果顯示到標準輸出。因此,如果想要存儲sed的處理結果,得自行運用轉向輸出將結果存成其他文件。
?????????? sed實例

????????????????? 用法1:刪除某一段范圍的數據行
????????????????? sed '1,4d'?? test.txt
????????????????? // 把第1到第4行數據刪除,剩下的顯示出來。d是sed的刪除命令
???????????????
???????????????? 用法2:把含有"La"的數據行刪除。
???????????????? sed '/La/d'? test.txt
???????????????? // 把含有La的行刪除,剩下的顯示出來。其中,/ / 代表搜索之意。
????????????
??????????????? 用法3:使用正則匹配
??????????????? sed '/[0-9]\{3\}/d' test.txt
??????????????? // 把含有"3位數"的行刪除,剩下的顯示出來,在樣式[0-9]\{3\}中,\{3\} 表/ /要尋找的是3個數字組成的字符串

??????????????? 用法4:刪除空行
??????????????? sed '/^$/d'? test.txt
??????????????? //刪除dataf5的空白行。^ 表開頭,$Snbsp;表尾部,這兩者之間沒有任何字符,代表該行是一空白行。

?????????????? 用法5:反向選擇
?????????????? sed '/La/!d'? test.txt
?????????????? //把不含有La的行刪除,剩下的顯示出來,這里的!是否定的意思,表示不符合樣式者

???????????? 用法6:把含有"樣式"的數據行顯示出來
???????????? sed '/La/p'?? test.txt
???????????? //用途 把含有La的行顯示出來。其中,p是sed的命令,它會把目前的數據顯示出來,但因為sed默認也會顯示不符合的數據行,所以,應改用以下指令:
???????????? sed -n '/La/p' test.txt
???????????? //選項-n會抑制sed顯示出其他資料行的默認操作,只顯示符合樣式的數據行。

???????????? 用法7:替換
???????????? sed -n 's/La/Oo/p'? test.txt
???????????? //這里的s是取代的意思,第一對//中含括的字符串(La)是搜索的目標,第二對//含括的是置換的字符串(Oo)。它會把數據行中的字符串La換成Oo。
???????????? 注意:上面這個指令,只會更換第一個出現的La而已,如要全部置換,應再加上全局的命令g
???????????? sed -n 's/La/Oo/gp'? test.txt

??????????? 用法8:替換/刪除字符
??????????? sed -n 's/La//p' test.txt
??????????? //把每一行出現的第一個La刪除(把La置換成空字符串,就是刪除)

??????????? 用法9:替換/通配符
??????????? sed 's/^...//'? test.txt? //把每一行開頭的3個字符刪除。
?????????? sed 's/...$//'? test.txt?? //把每一行末尾3個字符刪除

?????????? 其他用法:
????????????????? 1. sed -n '/AAA/s/234/567/p' test.txt
????????????????? //找到含有AAA的那一行之后,將234換成567
????????????????? 2.sed -n '/AAA/,/DDD/s/B/567/p' test.txt
???????????????? //將含有AAA到含有DDD的那幾行,皆將其中的B換成567
???????????????? 3.sed -n '2,4s/B/567/p' test.txt
???????????????? //從第2行到第4行,皆將其中的B換成567
???????????????? 4.sed G test.txt
???????????????? //在每一行后面增加一空行
???????????????? 5.sed '/^$/d;G' test.txt
???????????????? //將原來的所有空行刪除并在每一行后面增加一空行,這樣在輸出的文本中每一行后面將有且只有一空行
???????????????? 6.sed 'G;G' test.txt
???????????????? //在每一行后面增加兩行空行
???????????????? 7.sed '/regex/{x;p;x;}' test.txt
???????????????? //在匹配式樣“regex”的行之前插入一空行
???????????????? 8.sed '/regex/G'
???????????????? //在匹配式樣“regex”的行之后插入一空行
???????????????? 9.sed 10q
???????????????? //顯示文件中的前10行
???????????????? 10.sed q
???????????????? //顯示文件中的第一行
??????????????? ……
?????? 另外,我今天見到sed -i 的用法
??? 這里sed命令的-i選項,表示直接操作文件ab.file。這里是文本替換操作,將文件中的所有a都替換為b。 默認情況下,sed 是不會修改文件的,只會將操作結果打印到標準輸出(屏幕)。

posted on 2013-01-10 17:07?lexus 閱讀(...) 評論(...) 編輯 收藏

轉載于:https://www.cnblogs.com/lexus/archive/2013/01/10/2855108.html

總結

以上是生活随笔為你收集整理的ubuntu下sed命令详解 - Dicky - 开源中国社区的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。