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

posts - 297,  comments - 15,  trackbacks - 0

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

sed簡單示例

sed命令的格式是
sed [-options] [command] [stdin]
比如這個例子
$ sed –e ‘d’ ./Mydir/Myfile
執(zhí)行該命令,將得不到任何輸出。在該例中,用一個編輯命令 'd' 調用 sed;sed 打開 ./Mydir/Myfile 將一行讀入其模式緩沖區(qū),執(zhí)行’d’(“刪除行”);然后打印模式緩沖區(qū)(緩沖區(qū)已為空);它對后面的每一行重復這些步驟,這不會產生輸出!
對這個命令要說明的幾點是:首先,它根本沒有修改 ./Mydir/Myfile。這是因為 sed 是流處理器,它只讀取在命令行指定的文件,它不試圖修改該文件。其次, sed 是面向行的,'d' 命令不是簡單地告訴 sed 一下子刪除所有輸入數(shù)據(jù);相反,sed 逐行將 ./Mydir/Myfile 的每一行讀入其稱為模式緩沖區(qū)的內部緩沖區(qū),一旦將一行讀入模式緩沖區(qū),它就執(zhí)行 'd' 命令,然后打印模式緩沖區(qū)的內容。最后要注意的事是括起 '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中的一些特殊定義是
    規(guī)則 表達式    描述
    /./       將與包含至少一個字符的任何行匹配
    /../      將與包含至少兩個字符的任何行匹配
    /^#/      將與以 '#' 開始的任何行匹配
    /^$/      將與所有空行匹配
    /}^/      將與以 '}'(無空格)結束的任何行匹配
    /} *^/    將與以 '}' 后面跟有 零或多個空格結束的任何行匹配
    /[abc]/   將與包含小寫 'a'、'b' 或 'c' 的任何行匹配
    /^[abc]/  將與以 'a'、'b' 或 'c' 開始的任何行匹配

再比如一個經典的例子,打印c源代碼中的main函數(shù)內容,其命令可以寫成如下
 $ 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中每一行第一次出現(xiàn)的字符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:]  字母數(shù)字 [a-z A-Z 0-9]
    [:alpha:]  字母 [a-z A-Z]
    [:blank:]  空格或制表鍵
    [:cntrl:]  任何控制字符
    [:digit:]  數(shù)字 [0-9]
    [:graph:]  任何可視字符(無空格)
    [:lower:]  小寫 [a-z]
    [:print:]  非控制字符
    [:punct:]  標點字符
    [:space:]  空格
    [:upper:]  大寫 [A-Z]
    [:xdigit:]  十六進制數(shù)字 [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///’允許我們在規(guī)則表達式中定義區(qū)域,然后可以在替換字符串中引用這些特定區(qū)域。這些區(qū)域是以\(和\)隔開的。
比如定義三個匹配非空字符的區(qū)域'\(.*\) \(.*\) \(.*\)',現(xiàn)在可以定義這三個區(qū)域的動作,比如
 $ sed -e 's/\(.*\) \(.*\) \(.*\)/PreFix \1-\2 Fix \3/' ./Mydir/Myfile
假如把三個區(qū)域分別命名為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
<2010年11月>
31123456
78910111213
14151617181920
21222324252627
2829301234
567891011

常用鏈接

留言簿(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麻豆的观看方式 | 在线午夜精品| 亚洲人成7777| 久久综合网络一区二区| 欧美怡红院视频| 欧美日韩亚洲高清| 亚洲福利免费| 亚洲国产欧美日韩| 欧美专区第一页| 香蕉成人久久| 欧美丝袜一区二区三区| 亚洲精品国产日韩| 亚洲每日在线| 免费日韩成人| 欧美激情亚洲| 91久久午夜| 美女91精品| 欧美激情女人20p| 亚洲高清不卡在线观看| 久久久久国产精品麻豆ai换脸| 欧美一级午夜免费电影| 国产精品拍天天在线| 一区二区三区欧美激情| 亚洲一区二区毛片| 国产精品电影网站| 亚洲视频在线看| 午夜在线播放视频欧美| 国产精品久久久久一区| 亚洲一区二区三区视频播放| 亚洲欧美日韩一区二区在线| 国产精品嫩草99av在线| 亚洲在线第一页| 久久精品二区| 影音先锋日韩资源| 欧美国产一区二区三区激情无套| 亚洲高清一二三区| 日韩亚洲综合在线| 国产精品久久久久久久久动漫 | 欧美成人午夜视频| 亚洲欧洲综合另类| 欧美日韩精品免费看| 亚洲一区二区三区高清不卡| 欧美影院成年免费版| 在线 亚洲欧美在线综合一区| 久久永久免费| 99国产精品一区| 欧美一区国产在线| 亚洲国产欧美久久| 欧美性大战久久久久久久蜜臀| 亚洲欧美日韩国产一区二区| 蜜桃av一区| 宅男噜噜噜66国产日韩在线观看| 国产精品午夜电影| 久久一区二区三区国产精品| 亚洲麻豆国产自偷在线| 欧美一区二区国产| 影视先锋久久| 欧美偷拍一区二区| 久久久蜜桃精品| 99re国产精品| 免费在线播放第一区高清av| 在线亚洲欧美专区二区| 国产午夜精品美女视频明星a级| 母乳一区在线观看| 亚洲欧美日韩精品综合在线观看| 蜜桃精品久久久久久久免费影院| 在线视频中文亚洲| 亚洲大胆人体视频| 国产乱码精品一区二区三| 免费欧美视频| 亚洲一区中文字幕在线观看| 亚洲国产精品成人一区二区 | 欧美久久久久久久久| 欧美亚洲网站| 亚洲精品国产品国语在线app| 久久久久久噜噜噜久久久精品| 日韩午夜电影av| 一区二区三区自拍| 国产精品一区二区三区久久久| 欧美极品aⅴ影院| 久久久久久国产精品一区| 在线视频日韩精品| 亚洲日本中文| 欧美成人精品一区二区| 久久国产精品久久久久久久久久 | 亚洲一区二区在线免费观看| 亚洲国产精品999| 久久婷婷色综合| 欧美在线视频一区二区| 亚洲视频高清| 一区二区日韩伦理片| 亚洲日本视频| 亚洲国产老妈| 亚洲福利视频免费观看| 国内揄拍国内精品久久| 国产精品自在线| 国产精品女主播| 欧美视频在线看| 欧美日韩精品二区第二页| 欧美黑人一区二区三区| 免费一级欧美片在线观看| 久久久www成人免费毛片麻豆| 亚洲一区二区三区免费在线观看| 亚洲最新中文字幕| 一区二区不卡在线视频 午夜欧美不卡在 | 久久亚洲二区| 久久精品夜色噜噜亚洲a∨| 午夜视频精品| 久久国产精品免费一区| 久久婷婷成人综合色| 久久夜色精品国产噜噜av| 麻豆成人91精品二区三区| 麻豆av一区二区三区久久| 欧美成人在线免费观看| 亚洲福利av| 亚洲美女在线观看| 亚洲无限乱码一二三四麻| 午夜精品www| 久久激情五月激情| 久久综合色影院| 欧美激情综合五月色丁香| 欧美日韩视频不卡| 国产欧美三级| 亚洲大胆女人| 一卡二卡3卡四卡高清精品视频| 在线一区二区视频| 欧美专区亚洲专区| 免费美女久久99| 亚洲精品一级| 亚洲综合电影一区二区三区| 久久久国产精品一区| 玖玖国产精品视频| 欧美日韩精品免费观看视频完整 | 欧美日韩成人一区二区| 国产精品国产三级国产aⅴ入口| 国产伦理一区| 亚洲国产精品毛片| 亚洲影视中文字幕| 久久人人爽爽爽人久久久| 亚洲精品1区2区| 亚洲欧美久久久| 美女精品网站| 欧美视频中文字幕| 国内精品久久久久久久影视蜜臀| 91久久精品一区二区别| 亚洲女性裸体视频| 欧美粗暴jizz性欧美20| 一区二区免费看| 久久精品日产第一区二区| 欧美日韩免费精品| 狠狠色综合播放一区二区| 一本久久综合亚洲鲁鲁| 久久裸体艺术| 中文亚洲免费| 欧美第一黄色网| 国产一区二区精品久久| 一区二区三区导航| 免费观看亚洲视频大全| 亚洲一二三级电影| 欧美成年人网站| 国产一区二区三区四区| 正在播放亚洲| 欧美激情一区二区三区在线视频 | 日韩天堂av| 久久综合狠狠综合久久激情| 国产精品久久久久久超碰| 日韩视频一区二区三区| 久久野战av| 午夜久久久久久| 欧美午夜宅男影院在线观看| 亚洲精品乱码久久久久久日本蜜臀 | 久久午夜精品一区二区| 亚洲视频自拍偷拍| 欧美激情在线播放| 亚洲成人直播| 麻豆精品在线视频| 亚洲欧美日韩在线观看a三区| 欧美日韩国产综合视频在线观看| 亚洲韩国精品一区| 久久综合九色九九| 欧美专区日韩专区| 国产欧美在线观看| 欧美在线看片| 亚洲一区久久久| 欧美视频一区二| 一区二区三区黄色| 亚洲精选久久| 欧美日韩免费观看一区| 亚洲最新在线视频| 日韩午夜视频在线观看| 欧美日本国产| 在线综合亚洲欧美在线视频| 亚洲久久成人| 国产精品成人久久久久| 亚洲综合日韩中文字幕v在线|