1. 程式人生 > >linux--sed用法

linux--sed用法

sed是一個很好的檔案處理工具,本身是一個管道命令,主要是以行為單位進行處理,可以將資料行進行替換、刪除、新增、選取等特定工作,下面先了解一下sed的用法
sed命令列格式為:
         sed[-nefri] ‘command’ 輸入文字

常用選項:
-n∶使用安靜(silent)模式。在一般 sed 的用法中,所有來自 STDIN的資料一般都會被列出到螢幕上。但如果加上 -n 引數後,則只有經過sed 特殊處理的那一行(或者動作)才會被列出來。
        -e∶直接在指令列模式上進行 sed 的動作編輯;
        -f∶直接將 sed 的動作寫在一個檔案內, -ffilename

則可以執行 filename 內的sed 動作;
        -r∶sed 的動作支援的是延伸型正規表示法的語法。(預設是基礎正規表示法語法)
        -i∶
直接修改讀取的檔案內容,而不是由螢幕輸出。       

常用命令:
       a∶新增, a 的後面可以接字串,而這些字串會在新的一行出現(目前的下一行)
       c∶取代, c 的後面可以接字串,這些字串可以取代 n1,n2 之間的行!
       d∶刪除,因為是刪除啊,所以 d 後面通常不接任何咚咚;
       i∶插入, i 的後面可以接字串,而這些字串會在新的一行出現(目前的上一行)
       p∶

列印,亦即將某個選擇的資料印出。通常 p 會與引數 sed -n 一起運作~
       s∶取代,可以直接進行取代的工作哩!通常這個 s 的動作可以搭配正規表示法!例如 1,20s/old/new/g 就是啦!

舉例:(假設我們有一檔名為ab)
     刪除某行
     [[email protected] ruby] # sed '1d' ab             #刪除第一行 
     [[email protected] ruby] # sed'$d' ab              #刪除最後一行
     [[email protected] ruby] # sed'1,2d' ab

           #刪除第一行到第二行
     [[email protected] ruby] # sed'2,$d' ab           #刪除第二行到最後一行

  顯示某行
.    [[email protected] ruby] # sed -n '1p' ab           #顯示第一行 
     [[email protected] ruby] # sed -n'$p' ab           #顯示最後一行
     [[email protected] ruby] # sed -n'1,2p' ab        #顯示第一行到第二行
     [[email protected] ruby] # sed -n'2,$p' ab        #顯示第二行到最後一行

  使用模式進行查詢
     [[email protected] ruby] # sed -n'/ruby/p' ab    #查詢包括關鍵字ruby所在所有行
     [[email protected] ruby] # sed -n'/\$/p' ab        #查詢包括關鍵字$所在所有行,使用反斜線\遮蔽特殊含義

  增加一行或多行字串
     [[email protected] ruby] # sed'1a drink tea' ab  #第一行後增加字串"drink tea"
     [[email protected] ruby] # sed'1,3a drink tea' ab #第一行到第三行後增加字串"drink tea"
     [[email protected] ruby] # sed'1a drink tea\norcoffee' ab   #第一行後增加多行,使用換行符\n
  

  代替一行或多行
     [[email protected] ruby] # sed'1c good'ab               #第一行代替為Hi
     [[email protected] ruby] # sed'1,2c good'ab             #第一行到第二行代替為Hi
 

  替換一行中的某部分
  格式:sed 's/要替換的字串/新的字串/g'   (要替換的字串可以用正則表示式)
    [[email protected] ruby] #sed -n '/ruby/p' ab | sed 's/ruby/bird/g'    #替換ruby為bird
   [[email protected] ruby] # sed -n'/ruby/p' ab | sed 's/ruby//g'       #刪除ruby

    插入
     [[email protected] ruby] # sed -i'$a bye' ab         #在檔案ab中最後一行直接輸入"bye"
  

     刪除匹配行

     sed -i '/匹配字串/d'  filename  (注:若匹配字串是變數,則需要“”,而不是‘’。記得好像是)替換匹配行中的某個字串

     sed -i '/匹配字串/s/替換源字串/替換目標字串/g' filename

相關推薦

linux--sed用法

sed是一個很好的檔案處理工具,本身是一個管道命令,主要是以行為單位進行處理,可以將資料行進行替換、刪除、新增、選取等特定工作,下面先了解一下sed的用法 sed命令列格式為:          sed[-nefri] ‘command’ 輸入文字 常用選項:-n∶使用安靜

linuxsed用法

sil 資料 log sed的用法 單位 welcome 數據 讀取 local sed是一個很好的文件處理工具,本身是一個管道命令,主要是以行為單位進行處理,可以將數據行進行替換、刪除、新增、選取等特定工作,下面先了解一下sed的用法 sed命令行格式為:

Linux sed 和 awk的用法

tab鍵 $1 archive 文件 關鍵字 passwd 多行 commands 方式 sed用法: 原文鏈接:http://www.cnblogs.com/dong008259/archive/2011/12/07/2279897.html sed是一個很好的文件處

【轉載】linuxsed用法

span 變量 常用 tdi 選擇 包括 div 輸入 記得 linux之sed用法 原文地址:http://www.cnblogs.com/dong008259/archive/2011/12/07/2279897.html sed是一個很好的文件處理工具,本身是

linuxsed用法

命令一、sed命令介紹:1、含義:Stream Editor文本流編輯,sed是一個“非交互式的”面向字符流的編輯器。能同時處理多個文件多行的內容,可以不對原文件改動,把整個文件輸入到屏幕,可以把只匹配到模式的內容輸入到屏幕上。還可以對原文件改動,但是不會再屏幕上返回結果。2、功能:主要用來自動編輯一個或多個

LINUXsed用法

sed用法 Linux sed命令是利用script來處理文本文件 sed可依照script的指令,來處理、編輯文本文件 sed主要用來自動編輯一個或多個文件;簡化對文件的反復操作;編寫轉換程序等 語法 sed [-hnV][-e<script>][-

三劍客-sed linuxsed用法

linux中sed用法   sed是一個很好的檔案處理工具,本身是一個管道命令,主要是以行為單位進行處理,可以將資料行進行替換、刪除、新增、選取等特定工作,下面先了解一下sed的用法sed命令列格式為:     &n

Linux基礎命令之sed用法

sed :流編輯器     1.sed:Stream Editor   行處理工具,流編輯器  對檔案內容逐行進行處理呼叫操作並顯示到STDOUT       &nbs

linux shell 中sed用法

轉自:http://www.360doc.com/content/16/1118/16/38309198_607576538.shtml 一, 基本概述 (1)基本介紹 sed是一款流編輯工具,用來對文字進行過濾與替換工作,  sed通過輸入讀取檔案內容,但一次僅

sed用法——在指定行後面添加內容

ccie style cisc inux security txt 用法 color 添加內容 文檔內容如下: # cat 123.txt linuxciscohuaweinetworksystem 1. 使用sed命令在cisco行下面添加CCIE; # sed -i "

由一個實例淺析sed用法

正則 表達式 sed 首先,假設我們有一個文件,叫123.txt,#cat一下看到裏面的內容是這樣的:[[email protected]/* */ ~]# cat 123.txt james curry durant wade yaoming messi [[emai

【轉】shell expect spawn、linux expect 用法小記 看著舒服點

ssh username 英文 認識 exe 無法找到 usr 過去 操作 使用expect實現自動登錄的腳本,網上有很多,可是都沒有一個明白的說明,初學者一般都是照抄、收藏。可是為什麽要這麽寫卻不知其然。本文用一個最短的例子說明腳本的原理。 腳本代碼如下:  #####

linux expr用法

反引號 bstr 說明 字符串 -s sar 空格 nbsp numeric expr命令是一個手工命令行計數器,用於在UNIX/LINUX下求表達式變量的值,一般用於整數值,也可用於字符串。–格式為:expr Expression(命令讀入Expression 參數,計算

linux tail用法

運行 默認 偏移 用法 例子 可能 ber 讀取 導致 一.tail命令的用法 tail [ -f ] [ -c Number | -n Number | -m Number | -b Number | -k Number ] [ File ]參數解釋:-f 該參數用於監

Linux--sed使用

功能 idt editor shell 需要 ons add 指定 正則表達式語法 Sed:字符流編輯器(stream editor) 功能:完成對多個文件的一系列編輯工作 相關內容:應用正則表達式語法,與shell進行交互,腳本編寫 sed是行編輯器。與之對應非常的熟悉的

Linux--sed命令

數據 spa common 千萬 run basic 下載 pyc 添加 簡介 sed 是一種在線編輯器,它一次處理一行內容。處理時,把當前處理的行存儲在臨時緩沖區中,稱為“模式空間”(pattern space),接著用sed命令處理緩沖區中的內容,處理完成後,把緩沖區的

Linux find用法

house min command 工作目錄 find用法 而且 use 我想 結果 Linux中find常見用法示例 ----摘抄哪裏忘記了 ·find path -option [ -print ] [ -exec -ok command ]

Linux AWK用法

科學 if語句 nts 逗號 分開 意思 ons 名稱 沒有 AWKawk:報告生成器,格式化文本輸出gawk:模式掃描和處理語言 基本語法: options:選項 program:awk的語言 var=value:賦值給var

linux零基礎學習之Linux sed 命令常用操作詳解

延伸 進行 數據 12px -i 空白 字符串 options 信息 sed是Linux系統中一個很好的文件處理工具,可以對數據進行替換、刪除、新增以及選取等操作,使用起來也十分方面,以下是全面的sed操作介紹。sed命令行格式:sed [options] 'com

sed用法練習

blog text 這一 col 模式空間 51cto 一行 關鍵字 轉換 截取文件1.txt中怎麽能截取[abcfd]123324444[rty]這一部分截取或者轉換大小寫sed中,使用\u表示大寫,\l表示小寫 把每個單詞的第一個小寫字母變大寫:sed ‘s/\b[a