sed用法实例 (内容不全)
2016-08-29 21:07
253 查看
sed用法实例
有道笔记中副本
1.替换命令 s ,不改变原来文件 | |
sed 's/book/bookall/' mysed | |
sed -n 's/book/bookall/' mysed | -n 单独使用不会输出任何内容 |
sed 's/book/bookall/p' mysed | p 单独使用,就是默认输出 |
sed -n 's/book/bookall/p' mysed | -n ,p 一起使用,只输出改变的行 |
sed -i 's/book/bookall/' mysed | -i aix 不支持 |
2. g 全面替换标志 | |
sed 's/book/bookall/g' mysed | 默认是全面替换 |
sed 's/book/bookall/100' mysed | 从第N处开始替换 ,注意 ,不带g |
/ | / 在sed 中叫界定符 也可以是其他的 如 : or | |
sed '/\/youbook/mybook/' | '' 内部出现界定符时候需要转义 |
3. 删除操作 d 命令 | |
sed '/^$/d' mysed | 删除空白行 |
sed '4d' mysed | 删除文件的第4行 |
sed '2,$d' mysed | 删除 2 到行尾的所有行 |
sed '$d' mysed | 删除最后一行 |
sed '/^book/'d mysed or sed '/^book/d' mysed | 删除所有book 开头的行 |
已匹配字符串标记& | |
echo this is my first learning of sed | sed 's/\w\+/[&]/g' | 正则表达式 \w\+ 匹配每一个单词,使用【&】替换它,&对应之前匹配到的每一个单词 (AIX 好像不行) |
sed 's/^book/& of mathbook/' mysed | works |
子串匹配标记 \1 | |
echo this is digit 7 in a number | sed 's/digit \([0-9]\)/\1/' | 用匹配的子串做替换 左边命令中digit 7 被替换成了 7 ,样式匹配到的是子串是7,\(...)\用于匹配子串,对于匹配到的第一个子串标记为 \1,依次类推 \2 |
echo a B | sed 's/\([a-z]\) \([A-Z]\)/\2 \1/' | a B 位置调换,a B 如果是单词 ? |
sed -n 's/^\(book\)/\1s/p' mysed | book 在开始位置,被标记为 \1 |
组合表达式 | |
sed '表达式1' | sed '表达式2' 等价于 sed '表达式1;表达式2' | |
test=hello echo hello WORLD | sed "s/$test/HELLO/" | sed 表达式可以使用单引号做引用,但是如果表达式内部包含变量字符串,就需要使用双引号 |
选定行的范围 ,(逗号) | |
sed -n '/mybook/,/fine/p' mysed | 所有在模版 mybook 和 check 所确定的范围内的行都被打印 |
sed -n '5,/^fine/p' mysed | 打印从第五行开始到第一个包含以fine开始的行之间的所有行 |
sed -n '/mybook/,/fine/s/$/aaa ccc/p' mysed | 对于模版 mybook 和 fine之间的行,每行的末尾用字符串aaa ccc替换 |
多点编辑 e 命令 | |
sed -e '1,5d' -e 's/book/shitbook/' mysed | -e 选项允许在同一行里执行多条命令,命令的执行顺序对结果有影响 |
从文件读入 r 命令 | |
sed '/fine/r readfile' mysed | 把从 readfile 里面读取的内容追加到fine 后面的一行 |
写入文件 w 命令 | |
sed -n '/fine/w writefile' mysed | 把从mysed 找到含有 fine 行的数据写入到 writefile 中 |
追加(行下) a\ 命令 | |
sed '/^fine/a\this is my line' mysed | 将 this is my line 追加到fine 开始的行的下面 Not wokrs |
sed -i '2a\this is my food' mysed | 将 this is my line 追加到第二行的下面 Not wokrs |
插入行上 i\ | |
sed '/^fine/i\this is your prite' mysed | 在以fine 开头的行上插入一行 |
sed -i '5i\this is your sis' mysed | |
下一个命令 n | |
sed '/fine/{n;s/jp/bb/;}' mysed | 如果fine 命令匹配,则移动到匹配的下一行,替换(注意,不能有空格) |
变形 y | |
sed '1,10y/igjieo/SDDDD/' mysed | 把 1 到 10 行 中的小写字母替换大写 not works |
推出 q 命令 | |
sed '5q' mysed | 输出5行后退出 |
脚本 scriptfile | |
sed -f scriptfile file(s) | sed 脚本是一个sed 的命令清单,启动sed 时 以 -f 选项引导脚本文件名。sed 对于脚本中命令非常挑剔,在命令行的末尾不能有空白和文本,如果在一行中多个命令,以分号分割,以#开头的为注释行。 |
打印奇数行 偶数行 | |
sed -n 'p;n' mysed sed -n 'n;p' mysed sed -n '1~2p' mysed sed -n '2~2p' mysed |
相关文章推荐
- sed用法和实例
- sed 用法及实例
- Linux sed 高级用法实例
- textField 的通知和自己的方法的用法(当用作登陆时,想在没有内容的情况下按钮不能点击的实例)
- jQuery内容折叠效果插件用法实例分析(附demo源码)
- sed 用法及实例
- shell 文件内容替换 sed用法
- jQuery使用prepend()方法在元素前添加内容用法实例
- thinkphp模板用法和内容输出实例
- shell 文件内容替换 sed用法
- sed命令用法及实例
- sed 用法及实例
- 用“sed”实现更改文件内容的一个实例(不能加参数)
- Linux系统中sed命令在文件某行前后添加内容的用法
- 【实例】正则表达式利用grep和sed处理日志内容,获取所需的内容
- sed 用法及实例
- sed用法实例
- sed用法——看shell脚本一页的内容,居然详细有这么多种用法。路漫漫~
- linux shell 系列 sed 命令基本用法实例-①set命令选项的应用案例
- shell 文件内容替换 sed用法