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

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>
            午夜精品久久久久久久久| 欧美一级成年大片在线观看| 亚洲国产精品一区二区三区| 亚洲欧美另类久久久精品2019| 你懂的成人av| 欧美一级视频免费在线观看| 国产精品www.| 亚洲图中文字幕| 亚洲精品一区二区网址 | 久久久av水蜜桃| 国产精品亚洲欧美| 欧美在线播放一区| 亚洲永久精品国产| 国产精品日韩一区二区| 午夜精品亚洲| 午夜精品99久久免费| 国产美女一区二区| 久久精品国产久精国产一老狼| 亚洲午夜精品一区二区| 国产精品国内视频| 欧美中文字幕在线视频| 久久精品噜噜噜成人av农村| 激情久久婷婷| 亚洲第一视频| 久久综合五月天婷婷伊人| 亚洲第一区中文99精品| 亚洲第一页在线| 欧美日韩精品伦理作品在线免费观看| 一本色道综合亚洲| 亚洲一区二区在| 国产最新精品精品你懂的| 欧美成人在线免费观看| 欧美激情视频网站| 午夜久久99| 久久久久久综合| 亚洲美女性视频| 亚洲图片自拍偷拍| 国产日韩在线不卡| 欧美成人综合网站| 国产精品jizz在线观看美国| 久久国产天堂福利天堂| 免费中文字幕日韩欧美| 亚洲性xxxx| 久久久精品视频成人| 在线午夜精品| 久久久精品五月天| 亚洲一区激情| 久久一区二区精品| 亚洲免费婷婷| 久久亚洲二区| 性欧美videos另类喷潮| 免费亚洲电影在线| 国产精品视频免费一区| 欧美一级片在线播放| 久久综合99re88久久爱| 亚洲一区二区在线播放| 久久青草欧美一区二区三区| 亚洲一区免费网站| 蜜臀av一级做a爰片久久| 欧美亚洲网站| 欧美日韩国产va另类| 久久久久久久久久久久久女国产乱 | 午夜日韩在线| 亚洲免费电影在线| 欧美一区精品| 亚洲欧美一区二区激情| 欧美国产日韩a欧美在线观看| 欧美一区二区视频97| 欧美日本三区| 欧美黄在线观看| 国产欧美日韩不卡| 一本色道久久综合亚洲精品不| 亚洲国产精品一区二区久| 欧美一区二区三区精品电影| 亚洲午夜电影网| 欧美精品1区2区| 欧美国产精品久久| 一区二区三区在线观看视频 | 国产精品电影在线观看| 美女精品国产| 国产亚洲激情在线| 亚洲欧美日韩区| 中文在线一区| 欧美日产国产成人免费图片| 欧美高清视频一区二区| 在线播放中文字幕一区| 欧美成人资源| 久久综合99re88久久爱| 久久精品男女| 国产精品久久久久久久午夜片| 欧美国产先锋| 亚洲国产欧洲综合997久久| 欧美一级二级三级蜜桃| 欧美亚洲综合久久| 国产精品美腿一区在线看| 一本一本久久| 亚洲图片欧美一区| 欧美四级伦理在线| 亚洲性夜色噜噜噜7777| 亚洲欧美在线x视频| 国产精品日韩二区| 欧美一区二区高清在线观看| 欧美专区日韩专区| 国产在线不卡视频| 久久免费精品日本久久中文字幕| 久久综合九色综合久99| 国产日韩欧美在线一区| 欧美一区二区三区另类| 麻豆久久精品| 亚洲精品极品| 国产精品毛片a∨一区二区三区| 性欧美18~19sex高清播放| 国产精品啊v在线| 亚洲一区综合| 久久久久久久久久久一区 | 国产欧美日韩不卡| 久久国产精品99国产精| 欧美国产日产韩国视频| 9i看片成人免费高清| 欧美性一二三区| 性8sex亚洲区入口| 欧美激情1区2区| 亚洲专区在线视频| 精品91视频| 欧美日韩黄色一区二区| 欧美一级大片在线免费观看| 欧美成人精品一区二区三区| 一区二区三区日韩精品| 国产片一区二区| 免费短视频成人日韩| 在线亚洲精品| 欧美1区2区| 欧美一区二区三区免费看| 亚洲成人自拍视频| 欧美日韩精品免费| 久久精品国产成人| 99精品免费| 男女激情久久| 午夜精品久久久久久久久久久久久 | 亚洲精品久久| 久久免费偷拍视频| 亚洲性感激情| 91久久精品国产91久久性色| 国产精品素人视频| 欧美精品七区| 国产综合自拍| 欧美专区日韩视频| 国产精品日韩在线观看| 一区二区三区日韩欧美| 99精品99| 亚洲国产福利在线| 美女精品国产| 午夜精品www| 亚洲狼人综合| 欧美成人国产一区二区| 香蕉久久夜色精品国产| 亚洲九九九在线观看| 激情亚洲成人| 国产欧美精品一区二区色综合| 欧美日韩国产小视频在线观看| 久久久久高清| 欧美一级大片在线观看| 亚洲桃色在线一区| 亚洲毛片网站| 亚洲精品国产精品国产自| 久久精品一区二区三区中文字幕| 99精品免费| 亚洲精品女人| 亚洲欧洲另类国产综合| 亚洲第一区色| 91久久综合亚洲鲁鲁五月天| 亚洲第一久久影院| 亚洲精品视频在线播放| 亚洲人屁股眼子交8| 欧美日韩成人一区二区| 老司机免费视频一区二区三区 | 欧美成人激情在线| 久久久久久久久久久久久9999| 亚洲第一网站| 午夜视频在线观看一区| 亚洲国产视频一区二区| 亚洲视频在线观看免费| 亚洲国产合集| 欧美在线免费观看亚洲| 亚洲精品1234| 久久综合网hezyo| 久久嫩草精品久久久精品| 国产精品欧美久久久久无广告| 免费观看在线综合色| 黑人巨大精品欧美一区二区小视频 | 久久国产福利国产秒拍| 亚洲小视频在线观看| 欧美日韩亚洲一区二区三区| 中文在线一区| 亚洲视频在线观看三级| 国产日韩1区| 欧美区一区二区三区| 欧美顶级大胆免费视频| 欧美日韩精品一区二区在线播放| 亚洲美女视频|