sed簡(jiǎn)介:流編輯工具,用來(lái)對(duì)文本進(jìn)行過(guò)濾與替換操作。
在永寧等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場(chǎng)前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都做網(wǎng)站、成都網(wǎng)站建設(shè) 網(wǎng)站設(shè)計(jì)制作按需開發(fā),公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站建設(shè),全網(wǎng)營(yíng)銷推廣,成都外貿(mào)網(wǎng)站制作,永寧網(wǎng)站建設(shè)費(fèi)用合理。
sed流程:sed通過(guò)一次僅讀取一行內(nèi)容來(lái)對(duì)某些指令進(jìn)行處理后輸出。
1、sed通過(guò)文件或管道讀取文件內(nèi)容,但sed默認(rèn)并不直接修改源文件,而是將讀入的內(nèi)容復(fù)制到緩沖區(qū)中,稱之為模式空間。
2、所有的指令操作都是在模式空間找那個(gè)進(jìn)行
3、sed根據(jù)相應(yīng)的指令對(duì)模式空間中的內(nèi)容進(jìn)行處理并輸出結(jié)果,默認(rèn)輸出至標(biāo)準(zhǔn)輸出(即屏幕上)。
sed基本語(yǔ)法格式:
用法:sed[選項(xiàng)]...{腳本指令}[輸入文件]...
選項(xiàng): -version 顯示sed版本
-help :顯示幫助文檔
-n,-quiet,-silent靜默輸出,默認(rèn)情況下,sed程序在所有的腳本指令執(zhí)行完畢后,將自動(dòng)打印模式空間中的內(nèi)容。
-e script允許多個(gè)腳本指令被執(zhí)行
-f script-file從文件中讀取腳本指令,對(duì)編寫自動(dòng)化腳本程序很實(shí)用
-i ,-in-place 該選項(xiàng)直接修改源文件
-l N 該選項(xiàng)指定l指令可以輸出的行長(zhǎng)度,l指令為輸出非打印字符。
-posix 禁用GNU sed擴(kuò)展功能。
-r 在腳本指令中使用擴(kuò)展正則表達(dá)式。
-s,-separate 默認(rèn)情況下,sed將把輸入的多個(gè)文件名作為一個(gè)長(zhǎng)的連續(xù)的輸入流。而GNU sed則允許把它們當(dāng)作單獨(dú)的文件。
-u,-unbuffered 最低限度的緩存輸入與輸出
a,append表示追加指令;
i,insert表示插入指令;
d,delete表示刪除指令;
s,substitution表示替換指令。
sed腳本指令的基本格式是:
[地址,即路徑]命令(有些命令僅可以對(duì)一行操作,有些可以對(duì)多行操作),命令也可以用花括號(hào)進(jìn)行組合,使命令序列可以作用于同一個(gè)地址。
address{
command1
command2
command3
}
sed的基本工作方式是:
sed的替換命令s:
1、全局替換 : s/old/new/g ,其中g(shù)為全局替換,用于替換所有出現(xiàn)的次數(shù); /如果和正則匹配的內(nèi)容沖突可以使用其他符號(hào),如 : s@old@new@g
2、標(biāo)志位
為什么要有多行模式: 配置文件一般有單行出現(xiàn),但也有使用json或XML格式的配置文件,為多行出現(xiàn)。
多行模式處理命令N、D、P
linux 給文件改名的命令是mv命令
mv命令來(lái)為文件或目錄改名或?qū)⑽募梢粋€(gè)目錄移入另一個(gè)目錄中。該命令等同于DOS系統(tǒng)下的ren和move命令的組合。它的使用權(quán)限是所有用戶。命令詳細(xì)介紹可參考 Linux命令大全
Linux下修改文件名有mv和rename。 其中mv命令只能對(duì)單個(gè)文件重命名 , 這是mv命令和rename命令的在重命名方面的根本區(qū)別。
linux的rename命令有兩個(gè)版本,一個(gè)是c語(yǔ)言版本的,一個(gè)是perl語(yǔ)言版本的,判斷方法:
輸入man rename 看到第一行是:
RENAME(1) Linux Programmer’s Manual RENAME(1)
這個(gè)就是C語(yǔ)言版本的
而如果出現(xiàn):
RENAME(1) Perl Programmers Reference Guide RENAME(1) 則是Perl版本的了
C語(yǔ)言版本格式:rename 原字符串 新字符串 文件名
Perl語(yǔ)言版本格式:rename 's/原字符串/新字符串/' 文件名
rename支持正則表達(dá)式
例子:
字母的替換 rename "s/AA/aa/" * // 把文件名中的AA替換成aa
修改文件的后綴 rename "s//.html//.php/" * // 把.html 后綴的改成 .php后綴
批量添加文件后綴 rename "s/$//.txt/" * // 把所有的文件名都以txt結(jié)尾
批量刪除文件名 rename "s//.txt//" * // 把所有以.txt結(jié)尾的文件名的.txt刪掉
在文件夾shell下創(chuàng)建文件10個(gè)文件
touch tmp_{1..10}.txt
找到含有“_“”的文件夾。
find ./ -name "*_*"
讀取id, 用mv改名,$為自己理解為賦值后的id,格式為
網(wǎng)頁(yè)名稱:linux替換文件名命令 linux替換文件名中的字符串
URL分享:http://www.chinadenli.net/article32/dosggsc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制開發(fā)、網(wǎng)站設(shè)計(jì)、網(wǎng)站改版、面包屑導(dǎo)航、網(wǎng)站內(nèi)鏈、營(yíng)銷型網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)