不卡AV在线|网页在线观看无码高清|亚洲国产亚洲国产|国产伦精品一区二区三区免费视频

學(xué)習(xí)啦 > 學(xué)習(xí)電腦 > 操作系統(tǒng) > Linux教程 > Linux系統(tǒng)字符串替換命令詳細(xì)說(shuō)明

Linux系統(tǒng)字符串替換命令詳細(xì)說(shuō)明

時(shí)間: 佳洲1085 分享

Linux系統(tǒng)字符串替換命令詳細(xì)說(shuō)明

  Linux系統(tǒng)中有時(shí)候我們需要替換某個(gè)很長(zhǎng)的字符串該使用什么命令呢?下面由學(xué)習(xí)啦小編為大家整理了Linux系統(tǒng)字符串替換命令詳細(xì)說(shuō)明,希望對(duì)大家有幫助!

  Linux系統(tǒng)字符串替換命令詳細(xì)說(shuō)明

  Linux系統(tǒng)字符串替換的方法一、通過(guò)vi編輯器來(lái)替換

  vi/vim 中可以使用 :s 命令來(lái)替換字符串。

  :s/well/good/ 替換當(dāng)前行第一個(gè) well 為 good

  :s/well/good/g 替換當(dāng)前行所有 well 為 good

  :n,$s/well/good/ 替換第 n 行開(kāi)始到最后一行中每一行的第一個(gè) well 為 good

  :n,$s/well/good/g 替換第 n 行開(kāi)始到最后一行中每一行所有 well 為 good

  n 為數(shù)字,若 n 為 .,表示從當(dāng)前行開(kāi)始到最后一行

  :%s/well/good/(等同于 :g/well/s//good/) 替換每一行的第一個(gè) well 為 good

  :%s/well/good/g(等同于 :g/well/s//good/g) 替換每一行中所有 well 為 good

  可以使用 # 作為分隔符,此時(shí)中間出現(xiàn)的 / 不會(huì)作為分隔符

  :s#well/#good/# 替換當(dāng)前行第一個(gè) well/ 為 good/

  :%s#/usr/bin#/bin#g 可以把文件中所有路徑/usr/bin換成/bin

  Linux系統(tǒng)字符串替換的方法二、直接替換文件中的字符串

  此法不用打開(kāi)文件即可替換字符串,而且可以批量替換多個(gè)文件。

  1.perl命令替換,參數(shù)含義如下:

  -a 自動(dòng)分隔模式,用空格分隔$_并保存到@F中。相當(dāng)于@F = split ”。分隔符可以使用-F參數(shù)指定

  -F 指定-a的分隔符,可以使用正則表達(dá)式

  -e 執(zhí)行指定的腳本。

  -i<擴(kuò)展名> 原地替換文件,并將舊文件用指定的擴(kuò)展名備份。不指定擴(kuò)展名則不備份。

  -l 對(duì)輸入內(nèi)容自動(dòng)chomp,對(duì)輸出內(nèi)容自動(dòng)添加換行

  -n 自動(dòng)循環(huán),相當(dāng)于 while(<>) { 腳本; }

  -p 自動(dòng)循環(huán)+自動(dòng)輸出,相當(dāng)于 while(<>) { 腳本; print; }

  用法示例:

  perl -p -i.bak -e 's/\bfoo\b/bar/g' *.c

  將所有C程序中的foo替換成bar,舊文件備份成.bak

  perl -p -i -e "s/shan/hua/g" ./lishan.txt ./lishan.txt.bak

  將當(dāng)前文件夾下lishan.txt和lishan.txt.bak中的“shan”都替換為“hua”

  perl -i.bak -pe 's/(\d+)/ 1 + class="main">

學(xué)習(xí)啦 > 學(xué)習(xí)電腦 > 操作系統(tǒng) > Linux教程 > Linux系統(tǒng)字符串替換命令詳細(xì)說(shuō)明

Linux系統(tǒng)字符串替換命令詳細(xì)說(shuō)明

時(shí)間: 佳洲1085 分享

  將每個(gè)文件中出現(xiàn)的數(shù)值都加一

  Linux系統(tǒng)字符串替換的方法三、sed命令下批量替換文件內(nèi)容

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

  -i 表示inplace edit,就地修改文件

  -r 表示搜索子目錄

  -l 表示輸出匹配的文件名

  s表示替換,d表示刪除

  示例:sed -i "s/shan/hua/g" lishan.txt

  把當(dāng)前目錄下lishan.txt里的shan都替換為hua

  補(bǔ)充:sed命令的其他用法如下

  1、刪除行首空格

  sed 's/^[ ]*//g' filename

  sed 's/^ *//g' filename

  sed 's/^[[:space:]]*//g' filename

  2、行后和行前添加新行

  行后:sed 's/pattern/&\n/g' filename

  行前:sed 's/pattern/\n&/g' filename

  &代表pattern

  3、使用變量替換(使用雙引號(hào))

  sed -e "s/$var1/$var2/g" filename

  4、在第一行前插入文本

  sed -i '1 i\插入字符串' filename

  5、在最后一行插入

  sed -i '$ a\插入字符串' filename

  6、在匹配行前插入

  sed -i '/pattern/ i "插入字符串"' filename

  7、在匹配行后插入

  sed -i '/pattern/ a "插入字符串"' filename

  8、刪除文本中空行和空格組成的行以及#號(hào)注釋的行

  grep -v ^# filename | sed /^[[:space:]]*$/d | sed /^$/d

3644718