linux中sed命令批量修改


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

9、tr命令

tr 待替換字符串 替換字符串 < 文件名 >輸出文件

tr "\n" "," <brands >brands_new

10、替換換行

sed -i ":a;N;s/\n//g;ta" a.txt

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM