日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

文本处理三剑客之sed

發(fā)布時間:2024/10/12 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 文本处理三剑客之sed 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

sed

1、簡介

sed是一種流編輯器,它一次處理一行內(nèi)容。處理時,把當(dāng)前處理的行存儲在臨時緩沖區(qū)中,稱為“模式空間”(patternspace),接著用sed命令處理緩沖區(qū)中的內(nèi)容,處理完成后,把緩沖區(qū)的內(nèi)容送往屏幕。然后讀入下行,執(zhí)行下一個循環(huán)。如果沒有使諸如‘D’的特殊命令,那會在兩個循環(huán)之間清空模式空間,但不會清空保留空間。這樣不斷重復(fù),直到文件末尾。文件內(nèi)容并沒有改變,除非你使用重定向存儲輸出。?主要用來自動編輯一個或多個文件,簡化對文件的反復(fù)操作,編寫轉(zhuǎn)換程序等。

2、用法

sed [OPTION]... {script-only-if-no-other-script} [input-file]...

3、選項

  • -n:不輸出模式空間的內(nèi)容到屏幕
  • -f SCRIPT_FILE:讀取文件中的sed腳本來處理文本
  • -r:使用擴展的正則表達(dá)式
  • -i:直接修改原文件,-i,bak 可以先備份原文件
  • -e:sed -n -e 'script1' -e 'script2' 多點編輯,可以多個腳本一塊處理文本

4、sed腳本

地址定界

  • 不指定地址默認(rèn)為對全文處理
  • n:指定第n行
  • /PATTERN/:被PATTERN匹配到的每一行
  • m,n:從m到n行
  • m,+n:從m行開始往后n行
  • /PAT1/,/PAT2/:從被PAT1匹配到的行開始到被PAT2匹配到的行
  • n,/PAT/:從指定n行開始到被匹配到的行
  • ~:步進,比如1~2,從第一行開始每次跳2行,則表示奇數(shù)行

編輯命令

一.常用編輯命令

  • d:刪除
  • p:打印
  • a [\]文本:將文本追加到指定行的下一新行
  • i [\]文本:將文本追加到指定行的上一新行
  • c [\]文本:將匹配到的字符串修改為文本字符串
  • w newfile:將匹配到的行另存為新文件
  • r oldfile:將文件中的內(nèi)容讀入模式空間并追加至被匹配到行的行后
  • =:顯示行號
  • !:地址定界取反 s:查找替換s/待修改文本/修改文本/修飾符,分隔符也可用@、,、#等
    • g:全行替換
    • p:將修改后的文本打印到屏幕
    • w newfile:將替換成功的行另存為至新文件

?二.高級編輯命令

  • P:打印模式空間中開端到換行
  • h:把模式空間中的內(nèi)容覆蓋到保存空間
  • H:把模式空間中的內(nèi)容追加到保存空間
  • g:從保持空間取出數(shù)據(jù)覆蓋至模式空間
  • G:從保持空間取出數(shù)據(jù)追加至模式空間
  • x:把模式空間中的數(shù)據(jù)和保持空間的數(shù)據(jù)互換
  • n:讀取匹配到的行的下一行覆蓋至模式空間
  • N:讀取匹配到的行的下一行追加至模式空間
  • D:從模式空間的開始刪除到換行的地方

?

?記錄于2018.4.12 15:08

轉(zhuǎn)載于:https://www.cnblogs.com/L-dongf/p/8807864.html

總結(jié)

以上是生活随笔為你收集整理的文本处理三剑客之sed的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。