国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

shell sed命令

這篇具有很好參考價(jià)值的文章主要介紹了shell sed命令。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

提示:文章寫完后,目錄可以自動(dòng)生成,如何生成可參考右邊的幫助文檔


sed 命令

sed 編輯器

  • sed是一種流編輯器,流編輯器會(huì)在編輯器處理數(shù)據(jù)之前基于預(yù)先提供的一組規(guī)則來(lái)編輯數(shù)據(jù)流。
  • sed編輯器可以根據(jù)命令來(lái)處理數(shù)據(jù)流中的數(shù)據(jù),這些命令要么從命令行中輸入,要么存儲(chǔ)在一個(gè)命令文本文件中。

sed 的工作流程的三個(gè)過(guò)程

  • 讀取:sed 從輸入流(文件、管道、標(biāo)準(zhǔn)輸入)中讀取一行內(nèi)容并存儲(chǔ)到臨時(shí)的緩沖區(qū)中(又稱模式空間,pattern space)。
  • 執(zhí)行:默認(rèn)情況下,所有的sed 命令都在模式空間中順序地執(zhí)行,除非指定了行的地址,否則sed 命令 將會(huì)在所有的行上依次執(zhí)行。
  • 顯示:發(fā)送修改后的內(nèi)容到輸出流。在發(fā)送數(shù)據(jù)后,模式空間將會(huì)被清空。在所有的文件內(nèi)容都被處理完成之前,上述過(guò)程將重復(fù)執(zhí)行,直至所有內(nèi)容被處理完。

在所有的文件內(nèi)容都被處理完成之前,上述過(guò)程將重復(fù)執(zhí)行,直至所有內(nèi)容被處理完。

注意:默認(rèn)情況下所有的sed命令都是在模式空間內(nèi)執(zhí)行的,因此輸入的文件并不會(huì)發(fā)生任何變化,除非是用重定向存儲(chǔ)輸出。

命定格式

sed -e '操作' 文件1 文件2 ...
sed -n -e '操作' 文件1 文件2 ...
sed -f 腳本文件 文件1 文件2 ...
sed -i -e '操作' 文件1 文件2 ...


sed -e 'n{
操作1
操作2
...
}' 文件1 文件2 ...

常用選項(xiàng)

-e 或--expression=:表示用指定命令來(lái)處理輸入的文本文件,只有一個(gè)操作命令時(shí)可省略,一般在執(zhí)行多個(gè)操作命令使用
-f 或--file=:表示用指定的腳本文件來(lái)處理輸入的文本文件。
-h 或--help:顯示幫助。
-n --quiet 或 silent:禁止sed編輯器輸出,但可以與p命令一起使用完成輸出。
-i 直接修改目標(biāo)文本文件。

常用操作

s:      替換,替換指定字符。
d:      刪除,刪除選定的行。
a:      增加,在當(dāng)前行下面增加一行指定內(nèi)容。
i:      插入,在選定行上面插入一行指定內(nèi)容。
c:      替換,將選定行替換為指定內(nèi)容。
y:      字符轉(zhuǎn)換,轉(zhuǎn)換前后的字符長(zhǎng)度必須相同。
p:      打印,如果同時(shí)指定行,表示打印指定行;如果不指定行,則表示打印所有內(nèi)容;如果有非打印字符,則以 ASCII 碼輸出。其通常與“-n”選項(xiàng)一起使用。
=:      打印行號(hào)。
l:      打印數(shù)據(jù)流中的文本和不可打印的ASCII字符(比如結(jié)束符$、制表符\t)

實(shí)驗(yàn)操作

打印內(nèi)容

  1. sed -n -e ‘p’

shell sed命令

  1. sed -n -e ‘=’

shell sed命令

  1. sed -n -e ‘l’

shell sed命令

4.sed -n -e ‘=;p’

shell sed命令

5.sed -n -e ‘=’ -e ‘p’

shell sed命令

  1. sed -n ’
    =
    p
    ’ test

shell sed命令

使用地址

sed編輯器有2種尋址方式

  • 1、以數(shù)字形式表示行區(qū)間
  • 2、用文本模式來(lái)過(guò)濾出行

shell sed命令

1.sed -n ‘1p’

shell sed命令

2.sed -n ‘$p’

shell sed命令

  1. sed -n ‘1,3p’

shell sed命令

4.sed -n ‘3,$p’

shell sed命令

5.sed -n ‘1,+3p’ ? ? ? ? ? ? ? ? ? ? ? ? #打印1之后的連續(xù)3行,即1-4行

shell sed命令

6.sed ‘5q’? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #打印前5行信息后退出,q表示退出

shell sed命令

7.sed -n ‘p;n’? ? ? ? ? ? ? ? ? ? ? ? ? ? #打印奇數(shù)行;n表示移動(dòng)到下一行

shell sed命令

  1. sed -n ‘n;p’? ? ? ? ? ? ? ? ? ? ? ? ? #打印偶數(shù)行

shell sed命令

  1. sed -n ‘2,${n;p}’

shell sed命令

10.sed -n ‘/user/p’ /etc/passwd

shell sed命令

11.sed -n ‘/^a/p’ /etc/passwd

shell sed命令

12.sed -n ‘/bash$/p’ /etc/passwd

shell sed命令

13.sed -n ‘/ftp|root/p’ /etc/passwd

shell sed命令

14.sed -n ‘2,/nobody/p’ /etc/passwd

shell sed命令

15.sed -n ‘2,/nobody/=’ /etc/passwd

shell sed命令

16.sed -nr ‘/ro{1,}t/p’ /etc/passwd

shell sed命令

刪除行

  1. sed ‘d’ #全刪

2.sed ‘3d’

shell sed命令

3.sed ‘2,4d’

shell sed命令

4.sed ‘$d’

shell sed命令

5.sed ‘/^$/d’

shell sed命令

6.sed ‘/nologin$/d’ /etc/passwd

shell sed命令

7.sed ‘/nologin$/!d’ /etc/passwd
shell sed命令
8. sed ‘/2/,/3/d’

shell sed命令

  1. sed ‘/1/,/3/d’

shell sed命令

替換

行范圍 s/舊字符串/新字符串/替換標(biāo)記

4種替換標(biāo)記文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-458078.html

數(shù)字:表明新字符串將替換第幾處匹配的地方
g:表明新字符串將會(huì)替換所有匹配的地方
p:打印與替換命令匹配的行,與-n一起使用
w 文件:將替換的結(jié)果寫到文件中
sed -n 's/root/admin/p' /etc/passwd

sed -n 's/root/admin/2p' /etc/passwd

sed -n 's/root/admin/gp' /etc/passwd

sed 's/root//g' /etc/passwd

sed '1,20 s/^/#/' /etc/passwd

sed '/^root/ s/$/#/' /etc/passwd

sed '/root/ s/^/#/' /etc/passwd
sed -rn 's/.*root.*/#&/p' /etc/passwd

sed -f script.sed testfile2

sed '1,20w out.txt' /etc/passwd
sed '1,20 s/^/#/w out.txt' /etc/passwd

sed -n 's/\/bin\/bash/\/bin\/csh/p' /etc/passwd
sed -n 's!/bin/bash!/bin/csh!p' /etc/passwd		#使用“!”作為字符串分隔符
sed -i 's9\945\9\99\98\939g' test.txt		#將94599替換為9893

插入

sed '/45/c ABC' testfile2

sed 'y/145/ABC/' testfile2   #使所有的1字符轉(zhuǎn)換成A,所有的2字符轉(zhuǎn)換成B,所有的3字符轉(zhuǎn)換成C

sed '1,3a ABC' testfile2

sed '1i ABC' testfile2

sed '5r /etc/resolv.conf' testfile2

sed '/root/{H;d};$G' /etc/passwd	#將包含root的行剪切到末尾,H表示復(fù)制到剪切板,G表示粘貼到指定行后

sed '1,2H;3,4G' /etc/passwd			#將12行復(fù)制到34行的下面

echo "111222333" | sed -r 's/(111)(222)/\2\1/'	#將字符 111222 互換位置
echo "111222333" | sed -r 's/^(.)(.*)(.)$/\3\2\1/'		#將第一個(gè)字符和最后一個(gè)字符互換

到了這里,關(guān)于shell sed命令的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • java實(shí)現(xiàn)連接遠(yuǎn)程服務(wù)器,并可以執(zhí)行shell命令

    你可以使用Java中的SSH庫(kù)來(lái)連接遠(yuǎn)程服務(wù)器并執(zhí)行shell命令。下面是一個(gè)簡(jiǎn)單的示例代碼: 請(qǐng)注意替換 your_host , your_username , your_password 和 your_shell_command 為實(shí)際的遠(yuǎn)程服務(wù)器信息和要執(zhí)行的shell命令。該示例代碼使用JSch庫(kù)來(lái)建立SSH連接并執(zhí)行命令。

    2024年01月20日
    瀏覽(32)
  • 命令提示符(CMD)切換到指定目錄的方法

    命令提示符(CMD)切換到指定目錄的方法

    通常我們把像是java,mysql,python等語(yǔ)言類工具放到自定義目錄,而不是默認(rèn)路徑,使用cmd命令提示符想查看版本信息的時(shí)候需要到指定目錄,這時(shí)候就需要掌握切換到指定目錄的方法。 命令提示符(cmd)只在當(dāng)前盤符切換目錄時(shí),可以先到目標(biāo)目錄上復(fù)制地址, 輸入 即可切

    2024年02月11日
    瀏覽(20)
  • 瀟灑郎: shell sed 學(xué)習(xí)

    當(dāng)我們?cè)谶M(jìn)行自動(dòng)化shell腳本編輯的時(shí)候,有時(shí)候需要進(jìn)行編輯或者修改相應(yīng)的配置文件。那么sed是一個(gè)很不錯(cuò)的選擇。sed是Linux下一款功能強(qiáng)大的非交互流式文本編輯器。對(duì)文本文件進(jìn)行增. 刪. 改. 查等操作,支持按行. 按字段. 按正則匹配文本內(nèi)容,靈活方便,適合大文件

    2024年02月09日
    瀏覽(13)
  • Linux如何將一個(gè)目錄移動(dòng)到另一個(gè)目錄去,Linux 中,可以使用 mv 命令將一個(gè)目錄移動(dòng)到另一個(gè)目錄中。

    在 Linux 中,可以使用 mv 命令將一個(gè)目錄移動(dòng)到另一個(gè)目錄中。 命令格式如下: 其中,選項(xiàng)包括: -f :覆蓋目標(biāo)文件(不提示)。 -i :詢問(wèn)是否覆蓋目標(biāo)文件。 -n :不覆蓋任何已存在的目標(biāo)文件。 -v :顯示移動(dòng)的詳細(xì)過(guò)程。 例如,將目錄 /home/user1/documents 移動(dòng)到 /home/use

    2024年02月08日
    瀏覽(28)
  • Shell腳本基礎(chǔ)( 四: sed編輯器)

    Shell腳本基礎(chǔ)( 四: sed編輯器)

    目錄 1 簡(jiǎn)介 1.1 sed編輯器的工作流程 2 sed 2.1 基本用法 ?2.2 sed基本格式 2.2.1 sed支持正則表達(dá)式 2.2.2 匹配正則表達(dá)式 2.2.3 奇數(shù)偶數(shù)表示 2.2.4 -d選項(xiàng)刪除 2.2.5 -i修改文件內(nèi)容 2.2.6? -a 追加 2.3 搜索替代 2.4?變量 sed是一種流編輯器,流編輯器會(huì)在編輯器處理數(shù)據(jù)之前基于預(yù)先提供

    2024年02月12日
    瀏覽(21)
  • 終端(命令提示符或Windows PowerShell或Azure Cloud Shell)概述

    終端(命令提示符或Windows PowerShell或Azure Cloud Shell)概述

    終端(命令提示符或Windows PowerShell或Azure Cloud Shell)是一種很 不 好用的東西 就是要背,很 不 爽 Windows 終端是一個(gè)新式主機(jī)應(yīng)用程序,它面向你喜愛(ài)的命令行 shell,如命令提示符、PowerShell 和 bash(通過(guò)適用于 Linux 的 Windows 子系統(tǒng) (WSL))。 它的主要功能包括多個(gè)選項(xiàng)卡、窗格

    2024年01月23日
    瀏覽(48)
  • Shell編程基礎(chǔ)(十五)文本三劍客(sed)

    sed提供了一種免交互的方式修改文件內(nèi)容。 它是一行一行處理,可以通過(guò)正則匹配要修改的部分 基本語(yǔ)法 sed [-opt] command files(多個(gè)文件 空格隔開) sed 使用擴(kuò)展正則,不加r不能完全匹配擴(kuò)展正則表達(dá)式 sed -r “正則匹配數(shù)據(jù)行/指定行號(hào) sed命令” files sed 修改內(nèi)容寫回文件 默認(rèn)

    2024年02月13日
    瀏覽(21)
  • 【LinuxShell】Shell編程之sed與awk

    ??sed是一種流編輯器,流編輯器會(huì)在編輯器處理數(shù)據(jù)之前基于預(yù)先提供的一組規(guī)則來(lái)編輯數(shù)據(jù)流。 ??sed編輯器可以根據(jù)命令來(lái)處理數(shù)據(jù)流中的數(shù)據(jù),這些命令要么從命令行中輸入,要么存儲(chǔ)一個(gè)命令文本文件中。 ??sed 的工作流程主要包括 讀取 、 執(zhí)行 和 顯示 三個(gè)過(guò)

    2024年02月04日
    瀏覽(15)
  • Windows 可以使用以下快捷鍵打開終端(命令提示符)

    Windows 可以使用以下快捷鍵打開終端(命令提示符)

    Windows 可以使用以下快捷鍵打開終端(命令提示符) 使用快捷鍵 Win + R 打開 “運(yùn)行” 對(duì)話框,然后輸入 “cmd” 并按下 Enter 鍵。這將打開默認(rèn)的命令提示符窗口。 使用快捷鍵 Ctrl + Shift + Esc 打開任務(wù)管理器,然后在 “文件” 菜單中選擇 “運(yùn)行新任務(wù)”。在彈出的對(duì)話框中

    2024年02月07日
    瀏覽(24)
  • shell腳本——循環(huán)語(yǔ)句、sed、函數(shù)、數(shù)組、免交互expect

    shell腳本——循環(huán)語(yǔ)句、sed、函數(shù)、數(shù)組、免交互expect

    目錄 循環(huán)語(yǔ)句 for while 與 until sed 基本用法 sed腳本格式 函數(shù) 注意事項(xiàng) 定義函數(shù)和調(diào)用函數(shù) 腳本中函數(shù)的位置 查看函數(shù) 刪除函數(shù) 函數(shù)返回值 函數(shù)的傳參操作 使用函數(shù)文件 遞歸函數(shù)? 數(shù)組 聲明數(shù)組 數(shù)組切片 免交互expect 定義 ?基本命令 for循環(huán)需要知道循環(huán)的次數(shù) 格式1:

    2024年02月11日
    瀏覽(17)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包