x |
x為行號(hào) |
x,y |
表示行號(hào)從x到y(tǒng) |
/pattern |
查詢包含模式的行 |
/pattern /pattern |
查詢包含兩個(gè)模式的行 |
pattern/,x |
在給定行號(hào)上查詢包含模式的行 |
x,/pattern/ |
通過行號(hào)和模式查詢匹配的行 |
x,y! |
查詢不包含指定行號(hào)x和y的行 |
2)使用正則表達(dá)式、擴(kuò)展正則表達(dá)式(必須結(jié)合-r選項(xiàng))
^ |
錨點(diǎn)行首的符合條件的內(nèi)容,用法格式"^pattern" |
$ |
錨點(diǎn)行首的符合條件的內(nèi)容,用法格式"pattern$" |
^$ |
空白行 |
. |
匹配任意單個(gè)字符 |
* |
匹配緊挨在前面的字符任意次(0,1,多次) |
.* |
匹配任意長(zhǎng)度的任意字符 |
\? |
匹配緊挨在前面的字符0次或1次 |
\{m,n\} |
匹配其前面的字符至少m次,至多n次 |
\{m,\} |
匹配其前面的字符至少m次 |
\{m\} |
精確匹配前面的m次\{0,n\}:0到n次 |
\ |
錨點(diǎn)詞首----相當(dāng)于 \b,用法格式:\pattern |
\&; |
錨點(diǎn)詞尾,用法格式:\&;pattern |
\pattern\&; |
單詞錨點(diǎn) |
\(\) |
分組,用法格式:\(pattern\),引用\1,\2 |
[] |
匹配指定范圍內(nèi)的任意單個(gè)字符 |
[^] |
匹配指定范圍外的任意單個(gè)字符 |
[:digit:] |
所有數(shù)字, 相當(dāng)于0-9, [0-9]---> [[:digit:]] |
[:lower:] |
所有的小寫字母 |
[:upper:] |
所有的大寫字母 |
[:alpha:] |
所有的字母 |
[:alnum:] |
相當(dāng)于0-9a-zA-Z |
[:space:] |
空白字符 |
[:punct:] |
所有標(biāo)點(diǎn)符號(hào) |
p |
打印匹配行(和-n選項(xiàng)一起合用) |
= |
顯示文件行號(hào) |
a\ |
在定位行號(hào)后附加新文本信息 |
i\ |
在定位行號(hào)后插入新文本信息 |
d |
刪除定位行 |
c\ |
用新文本替換定位文本 |
w filename |
寫文本到一個(gè)文件,類似輸出重定向 > |
r filename |
從另一個(gè)文件中讀文本,類似輸入重定向 |
s |
使用替換模式替換相應(yīng)模式 |
q |
第一個(gè)模式匹配完成后退出或立即退出 |
l |
顯示與八進(jìn)制ACSII代碼等價(jià)的控制符 |
{} |
在定位行執(zhí)行的命令組,用分號(hào)隔開 |
n |
從另一個(gè)文件中讀文本下一行,并從下一條命令而不是第一條命令開始對(duì)其的處理 |
N |
在數(shù)據(jù)流中添加下一行以創(chuàng)建用于處理的多行組 |
g |
將模式2粘貼到/pattern n/ |
y |
傳送字符,替換單個(gè)字符 |
對(duì)文件的操作無非就是”增刪改查“,怎樣用sed命令實(shí)現(xiàn)對(duì)文件的”增刪改查“,玩轉(zhuǎn)sed是寫自動(dòng)化腳本必須的基礎(chǔ)之一。
sed命令打印文件信息(查詢):
sed命令實(shí)現(xiàn)對(duì)文件內(nèi)容的添加:(對(duì)源文件添加的話就用-i參數(shù)):
sed命令實(shí)現(xiàn)對(duì)文件內(nèi)容的刪除:(對(duì)源文件直接刪除用-i參數(shù)):
sed的刪除操作是針對(duì)文件的行,如果想刪除行中的某個(gè)字符,那就用替換(別急,替換稍后就講,而且替換是sed最常用的)
重點(diǎn):sed命令實(shí)現(xiàn)對(duì)文件內(nèi)容的替換(替換是在shell自動(dòng)化腳本中用到最多的操作)
第一種當(dāng)sed命令里面沒有默認(rèn)的變量時(shí)可以把單引號(hào)改成雙引號(hào);
第二種當(dāng)sed命令里面有默認(rèn)的變量時(shí),那自己定義的變量需要加單引號(hào),且sed里面的語句必須用單引
sed的其它高級(jí)使用:
1)把正在用sed操作的文件的內(nèi)容寫到例外一個(gè)文件中
2)讀取一個(gè)文件到正在用sed操作的文件中
sed的經(jīng)典例子:
學(xué)會(huì)sed的使用是寫自動(dòng)化shell腳本的基礎(chǔ),sed也是一個(gè)非常有用且重要的命令,是文本處理工具之一,以上是我自己學(xué)習(xí)總結(jié)的sed命令簡(jiǎn)單的用法,sed還有更高級(jí)的用法,也還在學(xué)習(xí)中。
標(biāo)簽:仙桃 六盤水 茂名 湘西 衡陽 慶陽 衡陽 三門峽
巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《輕松學(xué)會(huì)文本處理工具之二 linux sed命令》,本文關(guān)鍵詞 輕松,學(xué)會(huì),文本,處理,工具,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。