青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

posts - 297,  comments - 15,  trackbacks - 0

sed 是一種UNIX/LINUX 平臺下的輕量級流編輯器,日常一般用于處理文本文件。sed 有許多很好的特性。首先,它相當小巧;其次, sed 可以配合強大的 shell 完成許多復雜的功能。在我看來,sed完全可以看成一個腳本解釋器,用類似于編程的手段完成許多事情。

sed簡單示例

sed命令的格式是
sed [-options] [command] [stdin]
比如這個例子
$ sed –e ‘d’ ./Mydir/Myfile
執行該命令,將得不到任何輸出。在該例中,用一個編輯命令 'd' 調用 sed;sed 打開 ./Mydir/Myfile 將一行讀入其模式緩沖區,執行’d’(“刪除行”);然后打印模式緩沖區(緩沖區已為空);它對后面的每一行重復這些步驟,這不會產生輸出!
對這個命令要說明的幾點是:首先,它根本沒有修改 ./Mydir/Myfile。這是因為 sed 是流處理器,它只讀取在命令行指定的文件,它不試圖修改該文件。其次, sed 是面向行的,'d' 命令不是簡單地告訴 sed 一下子刪除所有輸入數據;相反,sed 逐行將 ./Mydir/Myfile 的每一行讀入其稱為模式緩沖區的內部緩沖區,一旦將一行讀入模式緩沖區,它就執行 'd' 命令,然后打印模式緩沖區的內容。最后要注意的事是括起 'd' 命令的單引號的用法,這樣可以禁用 shell 擴展。

指定sed的作用范圍

看下面的三個例子
 $ sed –e ‘1d’ ./Mydir/Myfile
 $ sed –e ‘1,10d’ ./Mydir/Myfile
 $ sed –e ‘/begin/,/end/p’ ./Mydir/Myfile
第一個例子說明只刪除./Mydir/Myfile第一行的緩沖,第二個例子將刪除第1~10行的緩沖。第三個例子最復雜,它定義了以字符串’begin’開始到’end’結束的作用范圍

sed中的正則表達式

sed支持正則表達式,比如
 $ sed –n -e ‘/regexp/p’ ./Mydir/Myfile
比如要刪除所有的空行
 $ sed –e ‘/^$/d’ ./Mydir/Myfile
sed中的一些特殊定義是
    規則 表達式    描述
    /./       將與包含至少一個字符的任何行匹配
    /../      將與包含至少兩個字符的任何行匹配
    /^#/      將與以 '#' 開始的任何行匹配
    /^$/      將與所有空行匹配
    /}^/      將與以 '}'(無空格)結束的任何行匹配
    /} *^/    將與以 '}' 后面跟有 零或多個空格結束的任何行匹配
    /[abc]/   將與包含小寫 'a'、'b' 或 'c' 的任何行匹配
    /^[abc]/  將與以 'a'、'b' 或 'c' 開始的任何行匹配

再比如一個經典的例子,打印c源代碼中的main函數內容,其命令可以寫成如下
 $ sed –n –e ‘/main[[:space]]*(/,/^}/p’ ./Mydir/*.c
其中[:space]表示空格,[[:space]]*表示有0~多個空格,所以main[[:space]]*(的意思是匹配“main (”字符串;“^}”表示這一行有且只有一個字符}。當然,上面的命令不是十分嚴謹。

sed –e ‘s/regexp/repalcement’ file

替換是sed命令中最常用的命令,比如如下的例子
 $ sed –e ‘s/a/b’ ./Mydir/Myfile
 $ sed –e ‘s/a/b/g’ ./Mydir/Myfile
第一個命令將./Mydir/Myfile中每一行第一次出現的字符a替換成字符b;第二個命令由于加入了’/g’,表示是全局(全部)替換字符a成字符b。

經常還可以看見如下兩種形式的sed
 $ sed –e ‘1,10s/a/b’ ./Mydir/Myfile
 $ sed –e ‘/^$/,/^END/s/a/b/g’ ./Mydir/Myfile
第一個命令是指替換1~10行;第二個命令是指全局替換從空行開始到以END開始的行中的內容。

替換命令不一定非要以/分隔,比如
 $ sed –e ‘s:usr/local:/usr:g’ ./Mydir/Myfile
就是將./Mydir/Myfile中的usr/local全部替換成/usr

要用好替換命令,當然要使用正則表達式,除了上面所說的表達式的例子,還有一些是非常有用的
    字符類   描述
    [:alnum:]  字母數字 [a-z A-Z 0-9]
    [:alpha:]  字母 [a-z A-Z]
    [:blank:]  空格或制表鍵
    [:cntrl:]  任何控制字符
    [:digit:]  數字 [0-9]
    [:graph:]  任何可視字符(無空格)
    [:lower:]  小寫 [a-z]
    [:print:]  非控制字符
    [:punct:]  標點字符
    [:space:]  空格
    [:upper:]  大寫 [A-Z]
    [:xdigit:]  十六進制數字 [0-9 a-f A-F]

比如下面這個例子
 $ sed –e ‘s/<[^>]*>//g’ ./Mydir/Myfile
< [^>]*>匹配<…>這樣的字符串(…中不含>)。運行這個命令,能夠將 “<b>This</b> is what <b>I</b> meant.”這樣的字符串替換成“This is what I meant.”

考察如下的命令
 $ sed -e 's/.*/# &/' ./Mydir/Myfile
這個命令將所有的非空行以“#”注釋掉——&告訴sed在行首插入字符。

‘s///’允許我們在規則表達式中定義區域,然后可以在替換字符串中引用這些特定區域。這些區域是以\(和\)隔開的。
比如定義三個匹配非空字符的區域'\(.*\) \(.*\) \(.*\)',現在可以定義這三個區域的動作,比如
 $ sed -e 's/\(.*\) \(.*\) \(.*\)/PreFix \1-\2 Fix \3/' ./Mydir/Myfile
假如把三個區域分別命名為a、b、c,則最后結果是 PreFix a-b Fix c

sed中組合命令

sed中的命令可以組合,以;號隔開,比如
 $ sed –n –e ‘=;p’ ./Mydir/Myfile
=表示打印行號,p表示打印。對于更復雜的指令,則可以寫成命令腳本,然后用-f選項導入,比如
 $ sed –n –f MyScript.sed ./Mydir/Myfile
對于同一個地址上的操作,則可以用{}組合,比如
 $ sed –n ‘1,20{ s/samba/Samba/g  s/posix/POSIX/g }’ ./Mydir/Myfile

sed中的行附加命令

在當前行之前插入行“i\”,如果要插入多行,則將多行用\分隔
在當前行之后插入行“a\”,用法和上面相似
更改當前行“c\”

posted on 2009-04-01 11:53 chatler 閱讀(537) 評論(0)  編輯 收藏 引用 所屬分類: Shell
<2009年2月>
25262728293031
1234567
891011121314
15161718192021
22232425262728
1234567

常用鏈接

留言簿(10)

隨筆分類(307)

隨筆檔案(297)

algorithm

Books_Free_Online

C++

database

Linux

Linux shell

linux socket

misce

  • cloudward
  • 感覺這個博客還是不錯,雖然做的東西和我不大相關,覺得看看還是有好處的

network

OSS

  • Google Android
  • Android is a software stack for mobile devices that includes an operating system, middleware and key applications. This early look at the Android SDK provides the tools and APIs necessary to begin developing applications on the Android platform using the Java programming language.
  • os161 file list

overall

搜索

  •  

最新評論

閱讀排行榜

評論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            夜夜嗨av一区二区三区四区| 国产精品三级久久久久久电影| 国产一区二区三区高清播放| 午夜精品福利在线| 亚洲影院免费| 国内自拍视频一区二区三区| 免费视频久久| 欧美精品粉嫩高潮一区二区 | 亚洲国产小视频在线观看| 亚洲大片av| 欧美精品激情在线观看| 午夜精品久久久久久久| 先锋影音国产精品| 亚洲电影免费观看高清完整版在线观看 | 国产亚洲欧美中文| 免费在线播放第一区高清av| 欧美激情精品久久久| 亚洲欧美在线视频观看| 久久亚洲色图| 午夜精品视频一区| 美女爽到呻吟久久久久| 亚洲欧美在线磁力| 久久爱www| 亚洲视频久久| 久久一区二区三区四区五区| 亚洲一二三四区| 久久成人精品| 亚洲免费网站| 欧美风情在线| 久久米奇亚洲| 午夜精品影院在线观看| 亚洲二区在线观看| 一区二区三区精品| 亚洲大胆美女视频| 午夜精品一区二区在线观看| 一本色道久久综合狠狠躁篇怎么玩 | 亚洲网站视频福利| 久久福利影视| 亚洲男女自偷自拍| 欧美成人国产| 免费一级欧美片在线播放| 国产精品日韩在线一区| 亚洲欧洲一区二区三区在线观看| 国产在线精品一区二区夜色| 一本色道久久综合亚洲精品婷婷| 亚洲国产裸拍裸体视频在线观看乱了中文 | 欧美日韩在线不卡| 欧美成人资源网| 狠狠做深爱婷婷久久综合一区 | 卡一卡二国产精品| 久久在线免费观看| 国产日韩欧美自拍| 在线视频欧美精品| 中文无字幕一区二区三区| 欧美国产高清| 亚洲国产裸拍裸体视频在线观看乱了中文| 国产亚洲制服色| 午夜精品网站| 久久精视频免费在线久久完整在线看| 欧美日韩在线一区| 99re热精品| 亚洲主播在线观看| 国产精品高潮视频| 亚洲欧美激情在线视频| 欧美在线|欧美| 国产亚洲精久久久久久| 久久黄色网页| 欧美成人伊人久久综合网| 黄色精品一区二区| 免费在线看成人av| 亚洲区一区二区三区| 一区二区欧美精品| 国产精品久久婷婷六月丁香| 亚洲欧美激情四射在线日 | 欧美日韩美女一区二区| 夜夜嗨av一区二区三区中文字幕| 日韩视频在线一区| 国产精品电影观看| 欧美一区激情| 欧美风情在线观看| 在线一区二区三区四区五区| 中文国产成人精品| 欧美成人午夜激情在线| 欧美一级专区免费大片| 国产综合精品| 女女同性精品视频| 99视频精品免费观看| 欧美一区二区三区另类| 一区二区三区在线高清| 欧美超级免费视 在线| 亚洲免费观看在线视频| 久久av一区二区三区漫画| 尤物九九久久国产精品的特点| 牛人盗摄一区二区三区视频| 99视频在线精品国自产拍免费观看| 欧美亚洲一区三区| 亚洲国产一区视频| 国产精品欧美日韩一区| 老司机午夜精品视频在线观看| 亚洲精品国产日韩| 久久久99免费视频| 一区二区三区日韩| 一色屋精品亚洲香蕉网站| 欧美日韩在线高清| 久久男人av资源网站| 一区二区三区鲁丝不卡| 免费看的黄色欧美网站| 午夜精品网站| 一本久道久久综合婷婷鲸鱼| 国产永久精品大片wwwapp| 欧美日韩国产在线播放网站| 久久精品人人做人人综合| 99香蕉国产精品偷在线观看| 欧美a级大片| 久久精品在线观看| 亚洲专区国产精品| 日韩亚洲国产欧美| 1000部精品久久久久久久久| 国产精品一区二区久久精品| 欧美日韩岛国| 欧美ab在线视频| 久久久999精品视频| 午夜精品在线视频| 亚洲一区二区三区四区五区黄 | 欧美大尺度在线| 久久久综合网站| 久久se精品一区二区| 亚洲欧美电影院| 亚洲一区二区综合| 99综合电影在线视频| 亚洲日本va午夜在线电影| 在线欧美亚洲| 1024亚洲| 亚洲高清视频的网址| 在线观看不卡av| 亚洲第一在线视频| 亚洲国产精品久久久久秋霞不卡| 国内精品久久久久影院优| 国产亚洲aⅴaaaaaa毛片| 国产欧美日韩中文字幕在线| 国产精品xxx在线观看www| 国产精品h在线观看| 国产精品高潮呻吟久久av黑人| 欧美日韩一区二区三区| 欧美特黄一级| 国产精品卡一卡二卡三| 国产精品日韩专区| 国产日韩综合| 激情成人综合网| 极品尤物av久久免费看 | 国产亚洲欧美日韩精品| 国产综合色产在线精品| 在线不卡中文字幕播放| 欧美在线播放高清精品| 一色屋精品视频免费看| 亚洲国产成人精品久久| 亚洲欧洲视频在线| 中国亚洲黄色| 欧美一区成人| 免费成年人欧美视频| 亚洲国产精品一区二区久| 日韩午夜电影| 欧美一级久久| 欧美a级一区| 国产精品嫩草99av在线| 黄色成人在线网址| 日韩视频在线观看一区二区| 亚洲欧美日韩视频二区| 看片网站欧美日韩| 亚洲精品日韩久久| 性欧美1819sex性高清| 老司机精品导航| 国产精品草草| 亚洲高清视频的网址| 中国成人亚色综合网站| 久久精品三级| 亚洲精品影院| 久久不射中文字幕| 欧美日韩国产bt| 激情欧美日韩| 亚洲一级在线观看| 牛牛国产精品| 亚洲在线电影| 欧美精品一区二区三区久久久竹菊 | 久久精品综合一区| 99re6热只有精品免费观看 | 亚洲午夜黄色| 欧美freesex交免费视频| 国产精品永久免费| aaa亚洲精品一二三区| 久久综合久久综合久久综合| 99精品99| 欧美大片91| 在线不卡中文字幕| 久久gogo国模啪啪人体图| 日韩亚洲综合在线| 欧美高清在线观看| 亚洲高清三级视频| 久久一区二区三区国产精品 | 亚洲欧洲精品一区二区|