日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Linux命令技巧:使用SED截取文件內(nèi)容(linuxsed截取)

在Linux環(huán)境中,SED(Stream Editor)是一款非常強(qiáng)大的文本處理工具,它可以在命令行下處理文本文件,支持查找、替換、插入、刪除等多種操作,是Linux系統(tǒng)上的經(jīng)典工具之一。本文將介紹如何使用SED來截取文件內(nèi)容,幫助你更加高效地處理文件。

創(chuàng)新互聯(lián)建站主要從事成都網(wǎng)站建設(shè)、做網(wǎng)站、網(wǎng)頁設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)永安,十載網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):13518219792

一、什么是SED?

SED是一款流式文本編輯器,它能夠從標(biāo)準(zhǔn)輸入或文本文件中讀取數(shù)據(jù),并將處理后的結(jié)果輸出到標(biāo)準(zhǔn)輸出或文件中。SED將文本文件視為一系列由行組成的數(shù)據(jù)流,它可以對這些行進(jìn)行操作,例如查找、替換、刪除等。

在Linux系統(tǒng)中,我們可以使用SED命令來進(jìn)行文本處理。SED語法結(jié)構(gòu)如下:

sed [選項(xiàng)] ‘[動(dòng)作]’ 文件

其中,選項(xiàng)包括:

– -n:僅顯示命令執(zhí)行結(jié)果而不輸出被處理的文本到標(biāo)準(zhǔn)輸出。

– -i:修改文件內(nèi)容,將處理后的結(jié)果直接替換到文件中。

– -e:允許對文件應(yīng)用多個(gè)sed命令。

– -r:支持正則表達(dá)式。

– -f:從指定文件讀入sed命令。

動(dòng)作包括:

– 查找操作:

-n:只顯示匹配到的行。

-p:與-n一起使用,匹配到的行不輸出,動(dòng)作結(jié)束后輸出所有的解析過的行。

-P:支持Perl正則表達(dá)式。

-b:在二進(jìn)制模式下處理數(shù)據(jù)。

– 操作指令:

1、替換操作:s/old/new/[n],其中n表示替換第N個(gè)匹配的字符串。

2、刪除操作:d,刪除匹配的行。

3、添加操作:a,添加一行到匹配行的下一行。

4、插入操作:i,插入一行到匹配行的上一行。

5、打印操作:p,打印匹配的行。

6、退出操作:q,退出SED程序。

二、如何使用SED截取文件內(nèi)容?

1.使用“sed -n ‘3p’ test.txt”命令,截取文件test.txt中的第三行內(nèi)容并輸出。其中,“-n”表示只顯示匹配到的行,“3p”表示匹配到第三行并輸出,輸出結(jié)果如下:

“`

【test.txt】

1: one

2: two

3: three

4: four

5: five

“`

輸出結(jié)果:

“`

3: three

“`

2.使用“sed -n ‘2,4p’ test.txt”命令,截取文件test.txt中的第二行到第四行內(nèi)容并輸出。其中,“2,4p”表示匹配到第二行到第四行并輸出,輸出結(jié)果如下:

“`

【test.txt】

1: one

2: two

3: three

4: four

5: five

“`

輸出結(jié)果:

“`

2: two

3: three

4: four

“`

3.使用“sed -n ‘/two/,/four/p’ test.txt”命令,截取文件test.txt中從包含“two”到包含“four”行的內(nèi)容,并輸出。其中,“/two/,/four/”表示匹配到包含“two”到包含“four”的行并輸出,輸出結(jié)果如下:

“`

【test.txt】

1: one

2: two

3: three

4: four

5: five

“`

輸出結(jié)果:

“`

2: two

3: three

4: four

“`

4.使用“sed -n ‘/two/,4p’ test.txt”命令,截取文件test.txt中從包含“two”行到第四行的內(nèi)容,并輸出。其中,“/two/,4”表示匹配到包含“two”行到第四行并輸出,輸出結(jié)果如下:

“`

【test.txt】

1: one

2: two

3: three

4: four

5: five

“`

輸出結(jié)果:

“`

2: two

3: three

4: four

“`

5.使用“sed -n ‘/two/,+2p’ test.txt”命令,截取文件test.txt中從包含“two”行開始,之后的兩行內(nèi)容,并輸出。其中,“/two/,+2”表示匹配到包含“two”行開始的兩行并輸出,輸出結(jié)果如下:

“`

【test.txt】

1: one

2: two

3: three

4: four

5: five

“`

輸出結(jié)果:

“`

2: two

3: three

“`

6.使用“sed -n ‘1!p’ test.txt”命令,截取文件test.txt中除之一行之外的全部內(nèi)容,并輸出。其中,“1!p”表示匹配到除之一行之外的所有行并輸出,輸出結(jié)果如下:

“`

【test.txt】

1: one

2: two

3: three

4: four

5: five

“`

輸出結(jié)果:

“`

2: two

3: three

4: four

5: five

“`

三、常見的問題解決方法

1.如何將SED操作結(jié)果輸出到文件?

可以使用“sed -n ‘3p’ test.txt > output.txt”命令,將結(jié)果保存到output.txt文件中。

2.如何在SED中使用正則表達(dá)式?

可以使用“-r”或“-E”選項(xiàng)啟用正則表達(dá)式,例如“sed -n ‘/[a-zA-Z]*[0-9]*/p’ test.txt”命令可以匹配文件test.txt中所有包含字母和數(shù)字的行。

3.如何處理包含特殊字符的文件?

可以使用“-e”的選項(xiàng),將多個(gè)操作指令串聯(lián)起來,例如“sed -e ‘s/old/new/g’ -e ‘s/*/#/g’ test.txt”命令將文件test.txt中所有“old”替換為“new”,并將所有的“*”替換為“#”。

四、

使用SED截取文件內(nèi)容是一項(xiàng)非常有用的技能,可以幫助我們更加高效地處理文本文件。本文介紹了SED的基本語法結(jié)構(gòu)和常見的應(yīng)用場景,希望能夠幫助讀者更好地理解SED的使用方法,進(jìn)一步提高Linux命令行的技能水平。

成都網(wǎng)站建設(shè)公司-創(chuàng)新互聯(lián)為您提供網(wǎng)站建設(shè)、網(wǎng)站制作、網(wǎng)頁設(shè)計(jì)及定制高端網(wǎng)站建設(shè)服務(wù)!

關(guān)于Linux里的sed命令。

Sed

is

a

nondestructive

editor.

It

will

display

the

edits

you

make

on

your

screen,

but

it

will

not

change

the

file

you

are

editing.

To

really

reflect

the

edits

in

the

file,

you

must

redirect

the

output

to

another

file,

and

then

rename

the

orginal

file

sed的特點(diǎn)就是非破壞(nondestructive),流水行(streamlined),非交互(noninteractive)的編輯器。

非破壞就是指不會修改原文件,它會將修改的結(jié)果標(biāo)準(zhǔn)輸出到屏幕上,你如果想保存,需要使用IO重定向的方式保存:

如:

sed

‘s/home/home1’

1.txt

>2.txt

這樣做的原因是,如果你修改了原文件的話,你沒法使用word,vim,txt的undo功能撤銷修改,恢復(fù)原來的文件。所以,sed會將修改之后的文件輸出到屏幕,你看到修改滿意的話,再重定向到其他文件。就完成了修改。明白否?

-e是啟用多行命令

上述兩條編輯命令都是一行命令,所以看不出效果。

linux下批量文件內(nèi)容提取

grep ingcn -rl /assign-path | xargs sed -i ‘s/ingcn/.ingcn/g’

sed -i ‘s/ingcn/.ingcn/g’ `grep ingcn -rl /assign-path`

還有一種比較復(fù)雜的寫法:

grep ingcn * -R | awk -F: ‘{print $1}’ | sort | uniq | xargs sed -i ‘s/ingcn/.ingcn/g’

其中命令awk用于分割字符串、uniq對結(jié)果進(jìn)行除重。

、網(wǎng)絡(luò)上現(xiàn)成的資料

格式: sed -i s/查找字段/替換字段/g `grep 查找字段 -rl 路徑`

linux sed 批量替換多個(gè)文件中的字符串

sed -i s/oldstring/newstring/g `grep oldstring -rl yourdir`

例如:替換/home下所有文件中的.111cn.為111cn.

sed -i s/.111cn./111cn./g `grep .111cn. -rl /home`

exp:sed -i s/shabi/$/g `grep shabi -rl ./`

2、自己額外附加

2.1 將文件1.txt內(nèi)的文字garden替換成mirGarden

# sed -i s/garden/mirGarden/g

1.txt sed -i 很簡單

2.2 將當(dāng)前目錄下的所有文件內(nèi)的garden替換成mirGarden

## sed -i s/garden/mirGarden/g `ls` 其實(shí)也就是ls出多個(gè)文件名而已

關(guān)于linux sed截取的介紹到此就結(jié)束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關(guān)注本站。

四川成都云服務(wù)器租用托管【創(chuàng)新互聯(lián)】提供各地服務(wù)器租用,電信服務(wù)器托管、移動(dòng)服務(wù)器托管、聯(lián)通服務(wù)器托管,云服務(wù)器虛擬主機(jī)租用。成都機(jī)房托管咨詢:13518219792
創(chuàng)新互聯(lián)(www.cdcxhl.com)擁有10多年的服務(wù)器租用、服務(wù)器托管、云服務(wù)器、虛擬主機(jī)、網(wǎng)站系統(tǒng)開發(fā)經(jīng)驗(yàn)、開啟建站+互聯(lián)網(wǎng)銷售服務(wù),與企業(yè)客戶共同成長,共創(chuàng)價(jià)值。


本文標(biāo)題:Linux命令技巧:使用SED截取文件內(nèi)容(linuxsed截取)
地址分享:http://m.5511xx.com/article/codjijc.html