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

大龍的博客

常用鏈接

統計

最新評論

Sed --- 轉

Sed是非交互式的行編輯器. 它即可以從stdin中接收文本輸入, 也可以從文件中接收文本輸入, 它對輸入中的指定行進行特定的操作, 一行操作一次, 然后將結果輸出到stdout, 或輸出到文件中. 在shell腳本中使用的話, sed通常都是作為管道工具鏈中的一個處理部分來使用.

Sed會決定它需要處理那些行, 因為sed的參數就包含有地址范圍. [1] 既可以通過行號來指定地址范圍, 也可以通過模式匹配來決定地址范圍. 比如, 3d表示sed會刪除輸入的第3行, /windows/d表示sed會刪除掉所有匹配"windows"的輸入行.

對于sed工具包的所有操作來說, 我們最關心的其實就是3個最主要的操作. 分別是printing(打印到stdout), deletion(刪除), 和substitution(替換).


表格 C-1. 基本sed操作

操作符 名字 效果
[地址范圍]/p 打印 打印[指定的地址范圍]
[地址范圍]/d 刪除 刪除[指定的地址范圍]
s/pattern1/pattern2/ 替換 將指定行中, 將第一個匹配到的pattern1, 替換為pattern2.
[地址范圍]/s/pattern1/pattern2/ 替換 地址范圍指定的每一行中, 將第一個匹配到的pattern1, 替換為pattern2.
[地址范圍]/y/pattern1/pattern2/ transform 地址范圍指定的每一行中, 將pattern1中的每個匹配到pattern2的字符都使用pattern2的相應字符作替換. (等價于tr命令)
g 全局 在每個匹配的輸入行中, 將每個模式匹配都作相應的操作. (譯者注: 不只局限于第一個匹配)

 

Note

除非在替換命令的后邊明確指定選項g(全局), 否則的話, 替換操作只會替換掉每行上的第一個模式匹配實例.

如果在命令行或腳本中使用這個命令, sed操作可能還需要某些選項和引用.

 

  1 sed -e '/^$/d' $filename
  2 # -e選項, 將會使得后邊的字符被看作為編輯指令. 
  3 #  (如果只給"sed"傳遞了單個指令, 那么"-e"是可選的.)
  4 #  "強"引用('')將會保護指令中的RE(正則表達式)字符串, 
  5 #+ 也就是防止腳本將RE重新解釋為特殊字符. 
  6 # (這會為sed命令, 保存指令的RE表達式.)
  7 #
  8 # 將會對文件$filename中的文本進行操作. 

 

在某些特定的情況下, sed編輯命令將不會和單引號的強引用一起工作.

 

  1 filename=file1.txt
  2 pattern=BEGIN
  3 
  4   sed "/^$pattern/d" "$filename"  # 工作正常. 
  5 # sed '/^$pattern/d' "$filename"    就會出現異常的結果. 
  6 #        在這個實例中, 被強引用(' ... ')引起的
  7 #+      "$pattern"就不會擴展為"BEGIN". 

 

 

Note

Sed命令的-e選項表示后續的字符串是一個指令, 或指令集. 如果后續的字符串中只有一個指令, 那么-e選項可以被省略.

 

  1 sed -n '/xzy/p' $filename
  2 # -n選項會讓sed只打印那些匹配模式的行. 
  3 # 否則所有的輸入行都會被打印. 
  4 # 這里可以省略-e選項, 因為這里只有一個編輯指令. 

 


表格 C-2. sed操作符舉例

表示法 效果
8d 刪除輸入的第8行.
/^$/d 刪除所有空行.
1,/^$/d 從輸入的開頭一直刪除到第1個空行(第一個空行也刪除掉).
/Jones/p 只打印那些包含"Jones"的行(使用-n選項).
s/Windows/Linux/ 在每個輸入行中, 將第一個出現的"Windows"實例替換為"Linux".
s/BSOD/stability/g 在每個輸入行中, 將所有"BSOD"都替換為"stability".
s/ *$// 刪除掉每行結尾的所有空格.
s/00*/0/g 將所有連續出現的0都壓縮成單個的0.
/GUI/d 刪除掉所有包含"GUI"的行.
s/GUI//g 將所有"GUI"都刪除掉, 并保持剩余部分的完整性.

在輸入行中, 將一個字符串替換為空字符, 等價于刪除這個字符串. 剩余部分會保持完整. 比如s/GUI//, 拿下邊這句為例:

The most important parts of any application are its GUI and sound effects
結果為:
The most important parts of any application are its  and sound effects

 

反斜線將會強制sed替換命令延續到下一行. 類似于, 在第一行的結尾使用換行作為替換字符串.

  1 s/^  */\
  2 /g
這將每行開頭的空格用換行來替換. 最后的結果就是將每段的縮進替換為一個空行.

 

地址范圍后邊可以加上一系列操作, 這些操作可能需要放到大括號對中, 并且需要重起一行.

  1 /[0-9A-Za-z]/,/^$/{
  2 /^$/d
  3 }
這只會刪除連續空行中的第一行. 對于單行間距的文本文件來說, 這很有用, 但是會保留段落間的空行.

posted on 2009-09-05 00:13 大龍 閱讀(232) 評論(0)  編輯 收藏 引用


只有注冊用戶登錄后才能發表評論。
網站導航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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精品欧美| 一区二区三区产品免费精品久久75 | 欧美在线二区| 久久在线免费| 亚洲国产精品t66y| 欧美电影电视剧在线观看| 亚洲国产福利在线| 一区二区三区成人精品| 久久av一区二区| 免费成人性网站| 欧美日韩国产另类不卡| 国产一本一道久久香蕉| 一本大道久久精品懂色aⅴ| 欧美在线观看日本一区| 亚洲成色精品| 亚洲欧美视频在线| 欧美极品在线观看| 国产一区av在线| 一区二区91| 久久婷婷成人综合色| 最新中文字幕亚洲| 欧美在线亚洲一区| 欧美午夜精品久久久久久人妖| 一区二区三区在线观看国产| 亚洲免费视频在线观看| 欧美激情精品久久久久久蜜臀| 亚洲欧美视频在线观看视频| 欧美激情在线观看| 在线播放视频一区| 欧美一区1区三区3区公司| 91久久精品日日躁夜夜躁国产| 午夜免费电影一区在线观看| 欧美日韩亚洲国产精品| 亚洲国产精品电影在线观看| 欧美一区二区三区免费视| 亚洲伦理一区| 欧美伦理a级免费电影| 亚洲成人资源| 另类激情亚洲| 久久黄色级2电影| 国产日韩欧美精品一区| 亚洲欧美资源在线| 一区二区三区国产精华| 亚洲午夜激情免费视频| 小黄鸭精品aⅴ导航网站入口| 欧美一区二区三区播放老司机| 欧美日韩一区二| 亚洲伦理中文字幕| 欧美激情自拍| 另类春色校园亚洲| 亚洲高清不卡一区| 免费不卡视频| 久久综合99re88久久爱| 精品二区视频| 欧美激情在线观看| 欧美国产免费| 一本一本a久久| 妖精视频成人观看www| 欧美日韩一区三区| 亚洲欧美电影在线观看| 亚洲一区二区三区中文字幕在线 | 亚洲欧美国产精品va在线观看| 日韩午夜在线视频| 国产精品扒开腿做爽爽爽软件| 在线亚洲伦理| 亚洲淫片在线视频| 国产伦精品一区二区三区高清| 久久国产日韩欧美| 久久日韩粉嫩一区二区三区| 亚洲久久在线| 亚洲一区二区三| 国产综合婷婷| 亚洲高清免费视频| 欧美午夜精品久久久久久久| 欧美综合国产精品久久丁香| 久久经典综合| 99精品国产在热久久下载| 一区二区三区视频观看| 国产自产在线视频一区| 亚洲国产午夜| 国产区精品在线观看| 麻豆精品在线视频| 欧美日韩国产成人在线91| 欧美一区二区三区久久精品| 免费不卡视频| 久久成人人人人精品欧| 欧美aⅴ一区二区三区视频| 亚洲欧美激情在线视频| 久久精品中文| 亚洲男人第一网站| 麻豆精品91| 久久精品官网| 国产精品盗摄一区二区三区| 欧美大片一区二区| 国产精品日韩专区| 91久久精品国产| 狠狠色香婷婷久久亚洲精品| 99精品99| 亚洲乱码国产乱码精品精可以看| 午夜在线不卡| 午夜精品久久一牛影视| 欧美在线视频在线播放完整版免费观看| 国产精品视频免费在线观看| 激情综合视频| 中文亚洲字幕| 亚洲精品资源| 久久av在线| 欧美在线观看一区二区| 欧美日韩精品国产| 欧美电影在线观看| 韩国一区电影| 欧美在线观看一区二区| 亚洲欧美一区二区三区久久| 欧美精品自拍| 免费在线一区二区| 国产亚洲毛片在线| 亚洲一区自拍| 亚洲综合视频网| 欧美日韩第一区| 亚洲黄色高清| 亚洲精品乱码久久久久久按摩观 | 亚洲人体大胆视频| 久久日韩精品| 欧美成人一区二区在线| 亚洲第一在线综合网站| 久久免费视频这里只有精品| 久久一区精品| 亚洲第一福利社区| 久久综合伊人77777| 米奇777超碰欧美日韩亚洲| 国产亚洲一区在线播放| 久久av一区二区三区亚洲| 久久久精品动漫| 黄色日韩精品| 乱码第一页成人| 亚洲国产精品久久91精品| 亚洲免费观看高清完整版在线观看| 欧美黄在线观看| 99一区二区| 先锋影音国产精品| 国产日韩精品久久久| 久久精品日韩欧美| 亚洲电影下载| 亚洲性视频网址| 国产视频久久| 麻豆精品一区二区综合av | 亚洲少妇在线| 久久爱www久久做| 精品999在线播放| 欧美成人精品| 一区二区三区日韩精品| 久久久精品国产免大香伊 | 蜜桃av一区二区在线观看| 亚洲高清在线播放| 欧美日韩第一区日日骚| 亚洲午夜在线观看| 久久天天躁狠狠躁夜夜av| 亚洲精品久久久久久久久久久| 欧美午夜宅男影院在线观看| 午夜欧美不卡精品aaaaa| 欧美成人综合| 久久久久久97三级| 亚洲电影免费观看高清完整版| 亚洲视频在线视频| 国产一区二区成人| 欧美精品麻豆| 久久久99免费视频| 亚洲美女在线看| 久久久免费精品| 99在线精品免费视频九九视| 国产一区二区三区在线观看精品 | 亚洲高清在线视频| 香蕉久久精品日日躁夜夜躁| 亚洲国产成人精品视频| 欧美性片在线观看| 久久亚洲私人国产精品va| 在线亚洲欧美专区二区| 欧美国产日韩一区| 久久精品在线| 亚洲欧美日韩成人| 亚洲精品欧洲| 精品成人a区在线观看| 国产精品久久久久一区二区三区共 | 这里只有精品电影| 欧美成人精品h版在线观看| 亚洲影视中文字幕| 亚洲黄色片网站| 狠狠久久亚洲欧美| 国产精品日韩一区二区| 欧美人体xx| 欧美成人69| 久久精品国产综合精品| 午夜在线不卡| 亚洲欧美一级二级三级| 亚洲一级在线| 亚洲无限乱码一二三四麻|