Sed(Stream Editor)是一個流編輯器,用于文本轉(zhuǎn)換。它可以從標(biāo)準(zhǔn)輸入、文件或管道中讀取文本,并將其輸出到標(biāo)準(zhǔn)輸出。Sed主要用于文件處理、文本替換、數(shù)據(jù)處理和格式化等方面。在本文中,我們將介紹 Sed 命令的一些常見用法和示例。
用 Sed 命令打印文件內(nèi)容
sed -n "p" filename
上述命令將打印 filename 文件的每一行。其中,-n 參數(shù)表示不輸出任何未經(jīng)編輯的文本行,p 表示打印當(dāng)前行。
使用 Sed 命令進(jìn)行文本替換
sed "s/pattern/replace/g" filename
上述命令將 filename 文件中所有匹配 pattern 的字符串替換為 replace。其中,g 表示全局替換。
【資料圖】
用 Sed 命令刪除文件中的某些行
sed "/pattern/d" filename
上述命令將刪除 filename 文件中所有包含 pattern 的行。
用 Sed 命令在文件中添加行
sed "1i This is the first line." filename
上述命令將在 filename 文件的第一行之前添加一行文本 This is the first line。
用 Sed 命令將多行文本合并成一行
sed ":a;N;$!ba;s/\n/ /g" filename
上述命令將 filename 文件中的多行文本合并為一行。其中,:a、N、$!ba 用于將多行文本合并為一行,s/\n/ /g 用于將換行符替換為空格。
使用 Sed 命令將文本截取為指定長度
sed "s/\(.\{10\}\).*/\1/" filename
上述命令將 filename 文件中的每一行截取為 10 個字符,即只保留每行的前 10 個字符。
用 Sed 命令將文本轉(zhuǎn)換為大寫或小寫
sed "y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/" filenamesed "y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/" filename
上述命令分別將 filename 文件中的文本轉(zhuǎn)換為大寫和小寫。
使用 Sed 命令進(jìn)行多行文本匹配和替換
sed "/start/,/end/ s/pattern/replace/g" filename
上述命令將 filename 文件中從 start 到 end 之間的所有行中匹配 pattern 的字符串替換為 replace。
用 Sed 命令從文件中提取特定行
sed -n "3p" filename
上述命令將從 filename 文件中提取第三行的文本。
使用 Sed 命令將文本中的空格刪除
sed "s/ //g" filename
上述命令將 filename文件中的所有空格都刪除。其中,g 表示全局替換。
用 Sed 命令刪除文件中的空白行
sed "/^\s*$/d" filename
上述命令將刪除 filename 文件中所有空白行。其中,^\s*$ 表示空白行。
使用 Sed 命令將文本文件按字母順序排序
sed -e "s/^[[:space:]]*//" -e "s/[[:space:]]*$//" filename | sed "s/ /\n/g" | sort | sed "/^$/d"
上述命令將 filename 文件中的所有單詞按字母順序排序。其中,-e "s/^[[:space:]]//" -e "s/[[:space:]]$//" 用于刪除每行前后的空格,sed "s/ /\n/g" 用于將單詞分開成多行,sort 用于排序,sed "/^$/d" 用于刪除空行。
用 Sed 命令刪除文件中的重復(fù)行
sed -n "G; s/\n/&&/; /^\([ -~]*\n\).*\n\1/d; s/\n//; h; P" filename
上述命令將刪除 filename 文件中的所有重復(fù)行。
用 Sed 命令刪除 HTML 標(biāo)簽
sed "s/<[^>]*>//g" filename
上述命令將刪除 filename 文件中所有 HTML 標(biāo)簽。其中,<[^>]*> 表示匹配 HTML 標(biāo)簽。
使用 Sed 命令在文件中插入多行文本
sed -i "/pattern/r filename" file
上述命令將在 file 文件中包含 pattern 的行后插入 filename 文件中的文本。

- 開曼群島屬于哪個洲?開曼群島是一個國家嗎?開曼群島屬于北美洲。開曼群島是英國在美洲西加勒比群島的一...
- 狼的精神是什么?《狼道》金句有哪些?狼的精神經(jīng)典十六字是如下:一、發(fā)憤圖強(qiáng):狼不會為了莊嚴(yán),...
- 世界上最大的內(nèi)陸國?世界上最小的內(nèi)陸國?所謂的內(nèi)陸國,又稱陸鎖國,指的是沒有海岸線的國家,亦即被...
- 大貝爾橋是哪個國家的?布魯塞爾是哪個國家的城市?1、大貝爾特橋位于丹麥;2、大貝爾特橋是一座連接丹麥西蘭島和...
- 我國第一艘航母是用什么省的名稱命名的?我國第一艘蒸汽機(jī)輪船是什么號?我國第一艘航母是用遼寧省的名稱命名的。為遼寧艦,舷號16,...
- atr是什么意思?ATR指標(biāo)在股票里怎么用?
2023-04-17 17:00:07
- 信托產(chǎn)品收益率是多少?信托為什么收益那么高?
2023-04-13 14:35:27
- 什么是股票發(fā)行市場?發(fā)行市場和交易市場的區(qū)別?
2023-04-10 14:53:09
- 深市新股首日漲停規(guī)則?新股的漲幅為何是44%?
2023-03-20 14:21:02
- 北向資金從哪里看?北向資金看什么指標(biāo)?
2023-03-10 11:12:33