色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

如何掌握Linux文本處理

馬哥Linux運維 ? 來源:馬哥Linux運維 ? 2024-11-10 13:40 ? 次閱讀

目錄

sed用法

模式空間與保持空間

sed命令選項

sed命令的基本語法

sed命令選項

基礎sed命令

高階sed命令

基礎sed命令

sed命令的基本語法

sed OPTIONS… [SCRIPT] [INPUTFILE…]

常用的選項:

-n,–quiet: 不輸出模式空間中的內容

-i: 直接編輯原文件,默認不對原文件進行操作

-e: 可以使用多個命令(腳本)進行操作

-f /path/from/sed_script: 從指定的文本中讀取處理腳本

-r: 使用擴展正則表達式

sed命令選項

替換標記
g:表示行內全面替換
w:表示把行寫入一個文件
x:表示互換模式空間的文本和保持空間的文本
y:表示把一個字符翻譯為另外的字符(不用于正則表達式)
單行模式空間
a :新增, a 的后面可以接字串,而這些字串會在新的一行出現(目前的下一行)

c :取代, c 的后面可以接字串,這些字串可以取代 n1,n2 之間的行!

d :刪除,因為是刪除,所以 d 后面通常不接任何東西;

i :插入, i 的后面可以接字串,而這些字串會在新的一行出現(目前的上一行);

p :打印,即將某個選擇的數據印出。通常 p 會與參數 sed -n 一起運行

s :取代,通常這個 s 的動作可以搭配正則表達式!例如 1,20s/old/new/g

n:讀取下一個輸入行, 用下一個命令處理新的行

y:把一個或多個字符替換成另一個字符
a的用法

[root@localhost ~]# vim xbz
[root@localhost ~]# cat xbz
a b c
d
c
b
a
[root@localhost ~]# sed '3abbxxxx' xbz //在第三行下面(第四行)進行新增
a b c
d
c
bbxxxx
b
a
[root@localhost ~]# sed '/c/abbxxxx' xbz  //在匹配的參數(c)下一行進行添加
a b c
bbxxxx
d
c
bbxxxx
b
a

c的用法

[root@localhost ~]# cat xbz 
a b c
d
c
b
a
[root@localhost ~]# sed '2cxxb' xbz //取代第二行
a b c
xxb
c
b
a
[root@localhost ~]# cat xbz 
a b c
d
c
b
a

[root@localhost ~]# sed '/d/caa' xbz  //在匹配的參數(d)進行取代
a b c
aa
c
b
a

d的用法

root@localhost ~]# cat xbz 
a b c
d
c
b
a

[root@localhost ~]# sed '1d' xbz //刪除第一行
d
c
b
a

[root@localhost ~]# cat xbz 
a b c
d
c
b
a

[root@localhost ~]# sed '/c/d' xbz //在匹配的參數(c)進行整行刪除
d
b
a

i的用法

[root@localhost ~]# cat xbz 
a b c
d
c
b
a

[root@localhost ~]# sed '2i3838' xbz  //在第二行進行插入
a b c
3838
d
c
b
a

[root@localhost ~]# cat xbz 
a b c
d
c
b
a

[root@localhost ~]# sed '/c/i6868' xbz //在匹配的參數(c)那一行進行插入
6868
a b c
d
6868
c
b
a

p的用法

[root@localhost ~]# cat xbz 
a b c
d
c
b
a

[root@localhost ~]# sed -n '/b/p' xbz //-n選項:只顯示匹配處理的行(否則會輸出所有)(也就是關閉默認的輸出),只是打印帶b的行
a b c
b

s的用法

[root@localhost ~]# cat xbz 
a b c
d
c
bbb
a

[root@localhost ~]# sed 's/b/a/' xbz //將匹配的參數(b)每行里的第一個參數進行替換
a a c
d
c
abb
a
[root@localhost ~]# cat xbz 
a b c
d
c
bbb
a

[root@localhost ~]# sed 's/b/a/g' xbz //在上面的基礎是加上g就可以全部進行替換
a a c
d
c
aaa
a

n的用法
此處的n不是sed -n的n的那種用法,是n讀取下一個輸入行

[root@localhost ~]# cat xbz 
a b c
d
c
bbb
a

[root@localhost ~]# sed -n '/a/n;p' xbz //匹配到的參數(a)下面的所有行
d
c
bbb


y的用法

[root@localhost ~]# cat xbz 
a b c
d
c
bbb
a
[root@localhost ~]# sed '3y/c/C/' xbz //將匹配到的第三行小寫c改為大寫C
a b c
d
C
bbb
a

高階sed命令

模式空間與保持空間

模擬空間:
當前處理輸出的緩沖空間,因為sed就是一次處理一行的內容,就會把這一行的內容提取到模式空間,然后用sed命令處理這一行的內容,處理完成后輸出到屏幕,接著處理下一行 的內容
保持空間:
保持空間就是sed的另一個緩沖區,此緩沖區如其名,不會自動清空內容,也不會把緩沖區的內容打印到的標準輸出中
模式空間與保持空間的關系
模式空間:相當于流水線,文本行再模式空間中進行處理;
保持空間:相當于倉庫,在模式空間對數據進行處理時,可以把數據臨時存儲到保持空間;作為模式空間的一個輔助臨時緩沖區,但又是相互獨立,可以進行交互,命令可以尋址模式空間但是不能尋址保持空間。可以使用高級命令h,H,g,G與模式空間進行交互。

sed命令選項

多行空間模式
N:讀取匹配到的行的下一行追加至模式空間
P:打印模式空間開端至 內容,并追加到默認輸出之前
D:如果模式空間包含換行符,則刪除直到第一個換行符的模式空間中的文本, 并不會讀取新的輸入行,而使用合成的模式空間重新啟動循環。如果模式空間 不包含換行符,則會像發出d命令那樣啟動正常的新循環
N追加下一行

[root@localhost ~]# cat xbz.txt 
Consult Section 3.1 in the Owner and Operator
Guide for a description of the tape drives
available on your system.
[root@localhost ~]# sed -n '/Operator$/{N;p}' xbz.txt 
Consult Section 3.1 in the Owner and Operator
Guide for a description of the tape drives
[root@localhost ~]# sed -n '/Operator$/{N;s/Owner and Operator
Guide/installation Guide/g;p}' xbz.txt 
Consult Section 3.1 in the installation Guide for a description of the tape drives
[root@localhost ~]# sed '/Operator$/{N;s/Owner and Operator
Guide/installation Guide/g}' xbz.txt 
Consult Section 3.1 in the installation Guide for a description of the tape drives
available on your system.
//我們假設想要將“Owner and 0perator Guide”換成“lnstallation Guide”,但是我們發現它出現在文件中的兩行上,“Operator”和“Guide”被分開了。
Owner and Operator Guide 換成 installation Guide
空格用

D多行刪除

[root@localhost ~]# cat test

This is the header line.
This is a data line.

This is the last line.
[root@localhost ~]# sed '/^$/{N ; /header/D}' test //刪除模式空間的第一行
This is the header line.
This is a data line.

This is the last line.

P多行打印

[root@localhost ~]# cat xxb 
Here are examples of the UNIX
System. Where UNIX
System appears, it should be the UNIX
Operating System.
[root@localhost ~]# sed -n '/UNIX$/p' xxb 
Here are examples of the UNIX
System. Where UNIX
System appears, it should be the UNIX
[root@localhost ~]# sed -n '/UNIX$/{N;p}' xxb 
Here are examples of the UNIX
System. Where UNIX
System appears, it should be the UNIX
Operating System.
[root@localhost ~]# sed -n '/UNIX$/{N;/
System/{p}}' xxb
Here are examples of the UNIX
System. Where UNIX
[root@localhost ~]# sed -n '/UNIX$/{N;/
System/{s// Operating &/g;p}}' xxb
Here are examples of the UNIX Operating 
System. Where UNIX
[root@localhost ~]# sed -n '/UNIX$/{N;/
System/{s// Operating &/g;P;D;p}}' xxb
Here are examples of the UNIX Operating 
System. Where UNIX Operating 

保持空間

命令 縮寫 功能
Hold h(復制)或H (追加) 上傳 將模式空間的內容復制或追加到保持空間
Get g或G下載 將保持空間的內容復制或追加到模式空間
Exchange x 交換保持空間和模式空間的內容

[root@localhost ~]# cat abc
1
2
11
22
111
222
[root@localhost ~]# sed '/1/{h;d};/2/G' abc //匹配1將內容放入保持空間,刪除,在將匹配2的內容追加模式空間
2
1
22
11
222
111

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • Linux
    +關注

    關注

    87

    文章

    11292

    瀏覽量

    209328
  • SED
    SED
    +關注

    關注

    0

    文章

    25

    瀏覽量

    27085
  • 腳本
    +關注

    關注

    1

    文章

    389

    瀏覽量

    14858

原文標題:深入淺出Sed:掌握Linux文本處理的終極利器

文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運維】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    詳解Linux Shell文本處理工具

      今天給大家分享日常工作中常用到的shell文本處理工具,可以說是史上最全了,大家掌握住這些工具,可以在日常運維工作中起到事半功倍的作用!
    發表于 10-27 09:19 ?537次閱讀

    Linux中grep、sed和awk命令詳解

    今天給大家聊一聊Linux文本操作的`三劍客:awk、grep、sed`,因其功能強大、使用頻繁,且是Linux文本處理的得力利器,常被稱之為`
    發表于 04-26 17:20 ?3239次閱讀
    <b class='flag-5'>Linux</b>中grep、sed和awk命令詳解

    Linux中sed命令用法

    這篇文章為初學者提供了關于 Linux 中 sed 命令的全面指南,涵蓋了其歷史、用途以及一些實用的技巧和竅門。通過掌握 sed,您可以高效處理文本處理任務,這對于任何使用
    發表于 07-21 10:38 ?355次閱讀
    <b class='flag-5'>Linux</b>中sed命令用法

    什么是VIM?VIM文本編輯器的三種工作模式

    Vim (Vi improved)是從 Vi 發展出來的一個文本編輯器,簡單的來說,Vi 是老式的文本處理器,功能已經很齊全了,但還是有可以進步的地方。
    發表于 09-06 16:04 ?4920次閱讀
    什么是VIM?VIM<b class='flag-5'>文本</b>編輯器的三種工作模式

    使用 Linux/Unix 進行文本處理

    使用 Linux/Unix 進行文本處理正則表達式 翻譯領域不乏讓人摸不著頭腦的詞匯,比如"句柄"、"套接字"、"魯棒性"。當然
    發表于 11-24 15:39

    shell文本處理方法是什么

    shell文本處理三劍客—grep
    發表于 05-27 12:32

    易語言-文本處理

    易語言是一門以中文作為程序代碼編程語言學習例程:易語言-文本處理
    發表于 06-06 17:43 ?1次下載

    Python網頁爬蟲,文本處理,科學計算,機器學習和數據挖掘工具集

    本文檔的主要內容詳細介紹的是Python工具包合集包括了:網頁爬蟲工具集,文本處理工具集,Python科學計算工具包,Python機器學習和數據挖掘 工具包
    發表于 09-07 17:14 ?37次下載
    Python網頁爬蟲,<b class='flag-5'>文本處理</b>,科學計算,機器學習和數據挖掘工具集

    Linux中的Grep正則表達式詳細資料說明

    grep是Linux中用于文本處理的最有用和功能最強大的命令之一。 grep在一個或多個輸入文件中搜索與正則表達式匹配的行,并將每條匹配的行寫入標準輸出。
    的頭像 發表于 06-21 11:39 ?2196次閱讀

    如何優雅地使用bert處理文本

    /jietang/publications/NIPS20-Ding-et-al-CogLTX.pdf Github: https://github.com/Sleepychord/CogLTX bert在長文本處理
    的頭像 發表于 12-26 09:17 ?8763次閱讀
    如何優雅地使用bert<b class='flag-5'>處理</b>長<b class='flag-5'>文本</b>

    文本處理技巧之正則表達式

    在LabVIEW開發過程中,有很多地方都需要處理文本數據,比如數據通訊、報表生成、協議解析、文件I/O、界面交互等,那有沒有一個工具可以幫助我們快速處理文本數據呢?答案是有的,那就是:
    的頭像 發表于 03-07 10:24 ?3928次閱讀

    單日獲客成本超20萬,國產大模型開卷200萬字以上的長文本處理

    更精準的推理和高并發流量以外,似乎已經沒有太多值得廠商大肆宣傳的特性了,直到最近超長文本處理的爆火。 ? 國產大模型的新卷法,長文本處理 ? 當下將大模型長文本處理炒熱的,無疑是來自月之暗面的Kimi。作為去年發布的大模型,Ki
    的頭像 發表于 03-27 00:53 ?3362次閱讀
    單日獲客成本超20萬,國產大模型開卷200萬字以上的長<b class='flag-5'>文本處理</b>

    MiniMax推出“海螺AI”,支持超長文本處理

    近日,大模型公司MiniMax宣布,其全新產品“海螺AI”已正式上架。這款強大的AI工具支持高達200ktokens的上下文長度,能夠在1秒內處理近3萬字的文本
    的頭像 發表于 05-17 09:30 ?730次閱讀

    Linux中cut命令的實用示例

    Linux command cut 用于文本處理。您可以使用此命令通過選擇列從文件中提取部分文本
    的頭像 發表于 08-05 15:14 ?314次閱讀

    Linux三劍客之Sed:文本處理神器

    關于linux三劍客 grep,過濾關鍵字信息數據。主要是用于查文本內的數據 sed ,對文本數據進行編輯,修改原文件內容 awk,對文件數據過濾,提取,并且能實現,格式化輸出 awk對文件數據
    的頭像 發表于 12-16 15:58 ?181次閱讀
    <b class='flag-5'>Linux</b>三劍客之Sed:<b class='flag-5'>文本處理</b>神器
    主站蜘蛛池模板: 欧美卡1卡2卡三卡2021精品| 被免费网站在线视频| 青柠在线观看免费播放电影| 第四色播日韩AV第一页| 亚洲 欧美 日韩 精品 自拍| 久久精品国产清白在天天线| 99热国产这里只有精品6| 少妇高潮A片特黄久久精品网| 国产精品无码AV天天爽人妻蜜桃| 一本到高清视频在线观看三区| 麻豆出品国产AV在线观看| 出差无套内射小秘书| 亚洲精品在看在线观看| 哪里能看毛片| 国产精品嫩草影视在线观看| 约艺术院校96年清纯白嫩| 人妻免费视频公开上传| 国内精品久久| 99久久国产视频| 香蕉精品国产高清自在自线| 久久精品国产免费| 穿白丝袜边走边尿白丝袜| 亚洲性爱城| 奇米色偷偷| 精品AV亚洲乱码一区二区| a视频免费在线| 亚洲国产精品久久无套麻豆| 免费看欧美xxx片| 国产九色在线| 51国产偷自视频在线视频播放| 受喷汁红肿抽搐磨NP双性| 老师你奶真大下面水真多| 国产 高清 无码 中文| 中文字幕亚洲欧美在线视频 | 爽死你个放荡粗暴小淫货漫画| 九九热综合| 成人在线免费看片| 伊人久久大香线蕉综合亚洲| 日日噜噜噜夜夜爽爽狠狠| 久久久久亚洲日日精品| 国产成人精品自拍|