sed相关操作

| 分类 linux  | 标签 linux  sed  浏览次数: -

替换字符串

在 sed 中, ? 不生效

sed -ie 's/abc/def/' /tmp/tet.txt # 只替换一次

多个文件中同时替换

sed -i "s/abc/def/g" `grep abc -rl /tmp`  # 把/tmp下所有文件中的abc换成def

插入字符串

  • 在关键字前面插入
sed -ie "s/abc/def&/" /tmp/tet.txt
  • 在关键字后面插入
sed -ie "s/abc/&def/" /tmp/tet.txt
  • 在关键字下一行插入
sed -ie "3a\def" /tmp/tet.txt
  • 在关键字上一行插入
sed -ie "3i\def" /tmp/tet.txt
  • 在所有关键字的下一行插入
sed -ie "/abc/a\\def" /tmp/tet.txt
  • 在所有关键字的上一行插入
sed -ie "/abc/i\\def" /tmp/tet.txt

检查字符串是否在文件中

cat /tmp/tet.txt | grep -ie "abc"|grep -v grep | wc -l # 大于 0 说明在文件中

删除字符串所在行

sed -ie "/abc/d" /tmp/tet.txt

删除指定行号

sed -i '3d' /tmp/tet.txt

删除多行指定行号

sed -i '1,3d' /tmp/tet.txt

查找字符所在行号

cat -n /tmp/tet.txt |grep -ie 'abc' |awk '{print $1}'|sed -n "1"p
sed -n '/abc/=' /tmp/tet.txt |sed -n \"1\"p"

上一篇 pdb断点调试     下一篇 编程术语
目录导航