linux中sed命令批量修改

sed命令下批量替换文件内容   spa

格式: sed -i "s/查找字段/替换字段/g" `grep 查找字段 -rl 路径` 文件名字符串

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

 -r 表示搜索子目录it

 -l 表示输出匹配的文件名
s表示替换,d表示删除class

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

          把当前目录下lishan.txt里的shan都替换为huased

 

sed的其余用法以下:file

一、删除行首空格
   sed 's/^[ ]*//g' filename
   sed 's/^ *//g' filename
   sed 's/^[[:space:]]*//g' filename搜索

二、行后和行前添加新行
   行后:sed 's/pattern/&\n/g' filename
   行前:sed 's/pattern/\n&/g' filename
   &表明patterngrep

三、使用变量替换(使用双引号)
    sed -e "s/$var1/$var2/g" filename

四、在第一行前插入文本
    sed -i '1 i\插入字符串' filename

五、在最后一行插入
    sed -i '$ a\插入字符串' filename

六、在匹配行前插入
    sed -i '/pattern/ i "插入字符串"' filename

七、在匹配行后插入
   sed -i '/pattern/ a "插入字符串"' filename

八、删除文本中空行和空格组成的行以及#号注释的行
   grep -v ^# filename | sed /^[[:space:]]*$/d | sed /^$/d

九、tr命令

tr 待替换字符串 替换字符串 < 文件名 >输出文件

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

十、替换换行

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

相关文章
相关标签/搜索