日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

linux字符串替换命令,Linux系统字符串替换命令详细说明

發布時間:2023/12/14 linux 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux字符串替换命令,Linux系统字符串替换命令详细说明 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Linux系統中有時候我們需要替換某個很長的字符串該使用什么命令呢?下面由學習啦小編為大家整理了Linux系統字符串替換命令詳細說明,希望對大家有幫助!

Linux系統字符串替換命令詳細說明

Linux系統字符串替換的方法一、通過vi編輯器來替換

vi/vim 中可以使用 :s 命令來替換字符串。

:s/well/good/ 替換當前行第一個 well 為 good

:s/well/good/g 替換當前行所有 well 為 good

:n,$s/well/good/ 替換第 n 行開始到最后一行中每一行的第一個 well 為 good

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

n 為數字,若 n 為 .,表示從當前行開始到最后一行

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

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

可以使用 # 作為分隔符,此時中間出現的 / 不會作為分隔符

:s#well/#good/# 替換當前行第一個 well/ 為 good/

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

Linux系統字符串替換的方法二、直接替換文件中的字符串

此法不用打開文件即可替換字符串,而且可以批量替換多個文件。

1.perl命令替換,參數含義如下:

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

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

-e 執行指定的腳本。

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

-l 對輸入內容自動chomp,對輸出內容自動添加換行

-n 自動循環,相當于 while(<>) { 腳本; }

-p 自動循環+自動輸出,相當于 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

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

perl -i.bak -pe 's/(\d+)/ 1 + $1 /ge' file1 file2

將每個文件中出現的數值都加一

Linux系統字符串替換的方法三、sed命令下批量替換文件內容

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

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

-r 表示搜索子目錄

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

s表示替換,d表示刪除

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

把當前目錄下lishan.txt里的shan都替換為hua

補充: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、使用變量替換(使用雙引號)

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、刪除文本中空行和空格組成的行以及#號注釋的行

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

總結

以上是生活随笔為你收集整理的linux字符串替换命令,Linux系统字符串替换命令详细说明的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。