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

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>
            国产欧美 在线欧美| 欧美日韩精品在线视频| 久久久另类综合| 久久精品一区二区三区四区 | 午夜精品亚洲| 亚洲一区二区日本| 亚洲女人小视频在线观看| 亚洲欧美日韩在线播放| 久久精品官网| 美女视频黄 久久| 欧美电影在线免费观看网站| 亚洲国产日韩欧美在线99| 一本在线高清不卡dvd | 国产精品第2页| 国产欧美一区二区三区沐欲 | 永久久久久久| 一本色道久久综合亚洲二区三区| 一区二区三区成人精品| 欧美一级大片在线免费观看| 久久资源在线| 一级日韩一区在线观看| 亚洲视频日本| 久久网站免费| 国产精品久久久久91| 亚洲第一在线综合网站| 亚洲制服少妇| 亚洲福利视频专区| 午夜精品一区二区三区在线播放| 久久综合导航| 国产区在线观看成人精品| 99在线精品观看| 美女网站久久| 午夜精品久久久久久久蜜桃app| 久久婷婷影院| 国产亚洲精品7777| 一本久久a久久精品亚洲| 久久成人久久爱| 一区二区欧美亚洲| 久久深夜福利免费观看| 国产日韩欧美另类| 一级日韩一区在线观看| 欧美91大片| 欧美在线亚洲一区| 国产精品亚洲综合天堂夜夜| 一区二区三区www| 免费日本视频一区| 欧美在线中文字幕| 国产欧美日韩一区| 校园激情久久| 亚洲欧美另类在线观看| 国产精品成人一区二区艾草| 香蕉免费一区二区三区在线观看 | 欧美性天天影院| 亚洲精品久久久久中文字幕欢迎你| 久久国产精彩视频| 亚洲影院免费| 国产美女精品免费电影| 西西人体一区二区| 亚洲欧美bt| 国产视频精品va久久久久久| 欧美亚洲日本网站| 午夜精品影院在线观看| 国产三级欧美三级| 久久精品视频在线看| 久久精品99国产精品酒店日本| 国产日韩欧美不卡| 美女精品视频一区| 久久精品99| 亚洲电影在线看| 亚洲高清资源综合久久精品| 欧美激情精品久久久久久免费印度| 亚洲国产日韩欧美| 亚洲啪啪91| 国产精品高潮呻吟久久| 久久国产日韩| 久久在线免费观看视频| 99综合电影在线视频| 中文亚洲视频在线| 国语精品中文字幕| 亚洲第一主播视频| 国产精品国产三级国产a| 久久精品免费播放| 欧美成人乱码一区二区三区| 日韩亚洲精品视频| 亚洲午夜精品一区二区三区他趣| 国产欧美精品一区| 美女精品自拍一二三四| 欧美日本国产在线| 欧美诱惑福利视频| 欧美国产日本| 久久精品国产一区二区三| 美女免费视频一区| 亚洲自拍16p| 久久久久久久一区二区三区| 亚洲国产成人午夜在线一区| 亚洲精品资源| 狠狠色噜噜狠狠狠狠色吗综合| 亚洲精品激情| 激情国产一区| 一区二区三区精品| 亚洲黄色有码视频| 欧美在线免费看| 亚洲一区二区视频在线| 久久久综合网站| 欧美一级片在线播放| 美女诱惑黄网站一区| 亚洲欧美日韩一区二区在线| 免费成人高清视频| 久久精品国产免费看久久精品| 欧美激情aⅴ一区二区三区| 久久五月婷婷丁香社区| 欧美日韩一区二区三区视频| 久久久夜夜夜| 国产精品国产三级国产专播精品人| 久久久青草青青国产亚洲免观| 欧美激情无毛| 麻豆精品传媒视频| 国产亚洲第一区| 亚洲性视频网址| 亚洲人成在线免费观看| 欧美一区二区播放| 午夜视频一区在线观看| 欧美日韩一区二区三区在线 | 亚洲破处大片| 久久亚洲国产精品日日av夜夜| 性一交一乱一区二区洋洋av| 欧美日韩一二三区| 野花国产精品入口| 在线视频精品一区| 欧美精品一区二| 91久久久久久久久| 日韩一级免费观看| 欧美激情综合色| 欧美激情视频一区二区三区不卡| 一区二区视频欧美| 久久琪琪电影院| 麻豆精品国产91久久久久久| 韩国精品在线观看| 久久爱www久久做| 美日韩在线观看| 亚洲国产精品精华液网站| 久久裸体艺术| 欧美国产一区在线| 亚洲免费电影在线观看| 免费亚洲电影在线观看| 亚洲国产成人在线视频| 亚洲精品社区| 国产精品白丝黑袜喷水久久久| 一本久久a久久精品亚洲| 亚洲字幕一区二区| 国产美女精品视频| 久久精品女人天堂| 欧美寡妇偷汉性猛交| 亚洲精品在线免费观看视频| 欧美成人一品| 宅男噜噜噜66一区二区66| 欧美与欧洲交xxxx免费观看| 激情国产一区二区| 欧美精品国产一区| 一区二区三区欧美| 久久精品成人| 在线免费观看视频一区| 欧美日本一道本在线视频| 亚洲一区二区三区欧美| 久久久精品动漫| 亚洲精品久久视频| 国产精品欧美经典| 麻豆精品在线观看| 一本久道久久综合中文字幕 | 亚洲一区国产视频| 国产尤物精品| 欧美日韩国产一区精品一区| 国产欧美日韩亚洲精品| 久久aⅴ国产紧身牛仔裤| 狠狠色综合色综合网络| 美日韩精品视频免费看| 亚洲精选视频在线| 久久久免费精品视频| 91久久久久久久久久久久久| 国产精品久久77777| 狂野欧美一区| 亚洲一区二区三区色| 欧美成人午夜| 欧美中文字幕在线| 亚洲另类视频| 国产伦精品一区二区三区视频黑人 | 精品电影在线观看| 欧美激情视频一区二区三区不卡| 亚洲黄色性网站| 久久国产乱子精品免费女 | 亚洲无限av看| 亚洲激精日韩激精欧美精品| 国产伦精品一区二区三区视频孕妇| 老牛嫩草一区二区三区日本| 亚洲伊人伊色伊影伊综合网| 亚洲精品社区| 欧美激情在线有限公司| 久久久噜噜噜久久狠狠50岁| 亚洲一区二区在线| 亚洲人成网站999久久久综合|