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

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 閱讀(544) 評論(0)  編輯 收藏 引用 所屬分類: Shell
<2009年4月>
2930311234
567891011
12131415161718
19202122232425
262728293012
3456789

常用鏈接

留言簿(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>
            久久综合狠狠综合久久综青草| 欧美在线视频播放| 欧美精品久久99| 亚洲另类视频| 日韩亚洲国产欧美| 国产精品久久久久久久久免费 | 国产视频一区在线观看| 亚洲欧美在线免费观看| 亚洲综合久久久久| 激情成人亚洲| 亚洲国内自拍| 欧美午夜宅男影院| 久久福利资源站| 蜜臀久久99精品久久久久久9 | 久久精品30| 久久综合国产精品台湾中文娱乐网| 亚洲国内精品| 日韩一级网站| 狠狠色香婷婷久久亚洲精品| 欧美激情精品久久久六区热门| 欧美日韩国产首页在线观看| 欧美一区二区三区视频在线| 久久久免费精品| 亚洲图片欧美午夜| 久久精品国产久精国产思思| 亚洲乱码国产乱码精品精可以看| 亚洲午夜精品久久久久久浪潮 | 狠久久av成人天堂| 亚洲人成网站在线播| 国产精品你懂的在线| 欧美成人嫩草网站| 欧美日韩亚洲系列| 另类激情亚洲| 国产精品免费一区二区三区在线观看| 久久一区二区精品| 欧美三区视频| 亚洲二区在线视频| 国产一区在线观看视频| 亚洲精品在线观| 尤妮丝一区二区裸体视频| 一本色道精品久久一区二区三区| 伊人久久久大香线蕉综合直播| 在线亚洲自拍| 日韩视频一区二区在线观看| 欧美一级视频免费在线观看| 在线亚洲免费| 欧美电影在线播放| 蜜桃久久av一区| 国产性做久久久久久| 夜夜嗨av一区二区三区网站四季av | 欧美sm视频| 国产一区二区三区久久 | 91久久久久久国产精品| 国产一区二区高清| 亚洲亚洲精品在线观看| 亚洲乱码久久| 暖暖成人免费视频| 欧美成人午夜免费视在线看片 | 国产精品揄拍一区二区| 亚洲麻豆国产自偷在线| 亚洲精品久久久久久久久| 久久成人精品| 久久精品30| 国产日韩欧美一区二区三区在线观看| 在线亚洲美日韩| 亚洲欧美日韩国产综合在线| 欧美日韩性视频在线| 亚洲精品视频免费观看| 日韩午夜av| 欧美日韩日本视频| 中日韩美女免费视频网址在线观看| 亚洲美女诱惑| 欧美精品福利| 日韩一级大片| 亚洲欧美在线观看| 国产精品美女| 欧美一级片一区| 美女网站久久| 最新日韩在线| 欧美日韩天堂| 亚洲综合欧美日韩| 久久视频在线免费观看| **欧美日韩vr在线| 欧美成人精品福利| 99亚洲一区二区| 欧美在线观看视频一区二区| 国产亚洲福利| 免费在线欧美视频| 日韩视频一区| 久久精品视频va| 亚洲国产日韩欧美| 欧美视频网址| 欧美在线国产| 亚洲欧洲三级| 久久er精品视频| 亚洲欧洲午夜| 国产精品久久综合| 久久久久久自在自线| 亚洲人成网站影音先锋播放| 亚洲欧美精品一区| 尤物网精品视频| 欧美午夜在线观看| 久久一综合视频| 宅男噜噜噜66一区二区| 免费看的黄色欧美网站| 亚洲一区二区三区涩| 极品日韩久久| 国产精品久久久99| 免费毛片一区二区三区久久久| 99伊人成综合| 亚洲成色精品| 欧美怡红院视频一区二区三区| 老鸭窝毛片一区二区三区| 一区二区三区免费网站| 影音先锋久久久| 国产精品久久久久一区二区三区 | 欧美成人精品| 午夜欧美精品久久久久久久| 最新国产成人av网站网址麻豆| 欧美偷拍一区二区| 蜜臀av性久久久久蜜臀aⅴ| 亚洲一区二区三区高清不卡| 欧美黑人在线观看| 欧美在线免费观看亚洲| 99国产精品国产精品毛片| 狠狠爱综合网| 国产亚洲美州欧州综合国| 欧美午夜不卡在线观看免费| 免费在线观看成人av| 久久av在线| 小处雏高清一区二区三区 | 欧美高清影院| 另类成人小视频在线| 久久99在线观看| 亚欧成人精品| 亚洲欧美视频一区二区三区| 亚洲视频在线观看三级| 亚洲精品国产精品国自产观看浪潮| 国产综合视频| 精品91在线| 激情五月综合色婷婷一区二区| 国产麻豆日韩| 国产日韩欧美综合精品| 国产偷自视频区视频一区二区| 国产精品一区二区久久国产| 欧美日韩中文另类| 欧美日韩一区二区视频在线| 欧美日本在线视频| 欧美美女bb生活片| 欧美日韩精品免费观看视一区二区| 欧美福利视频| 欧美精品少妇一区二区三区| 欧美日韩国产91| 国产精品v欧美精品v日韩| 欧美午夜精品伦理| 国产麻豆精品久久一二三| 国产日韩一区二区三区| 一区二区三区无毛| 亚洲国产成人高清精品| 亚洲伦理在线| 亚洲欧美影院| 久久久欧美精品sm网站| 欧美大片网址| 一本色道久久综合亚洲二区三区| 在线一区欧美| 久久精品国产亚洲a| 久久综合色一综合色88| 欧美精品一区二区三区在线看午夜 | 亚洲尤物精选| 久久视频在线视频| 欧美日本在线播放| 国产精品专区第二| 亚洲国产毛片完整版| 亚洲精品日韩在线| 亚洲一区二区三区在线看| 久久久久久久久久久一区| 亚洲国产美女精品久久久久∴| 日韩视频免费在线| 久久国产免费看| 欧美日韩一区二区三区| 国产在线拍偷自揄拍精品| 日韩视频在线观看国产| 欧美一级视频精品观看| 亚洲福利国产| 欧美一级久久久| 欧美久久影院| 精品成人免费| 午夜亚洲福利在线老司机| 欧美国产综合| 午夜一区二区三区不卡视频| 欧美护士18xxxxhd| 国产一区日韩欧美| 亚洲一区二区综合| 欧美成人自拍| 欧美一区二区三区的| 欧美日韩亚洲综合一区| 亚洲第一精品电影| 欧美在线一级va免费观看| 亚洲免费观看视频| 美女诱惑黄网站一区|