sed用法实例 (内容不全)

原创 2016年08月29日 21:07:22
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用法——看shell脚本一页的内容,居然详细有这么多种用法。路漫漫~

1. Sed简介   sed 是一种在线编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理...

JavaScript解决select下拉框中的内容太长显示不全的问题

JavaScript解决select下拉框中的内容太长显示不全的问题 1、说明      有些情况下,select下拉框的内容过长,导致部分看不见;      现在通过鼠标事件,让下拉框中的内容显...

ScrollView嵌套Listview/RecyclerView内容显示不全

1.起因最近一个项目中,又一个需求是要在ScrollView中嵌套好几个RecyclerView。然后问题来了,五个RecyclerView(PS:设计太奇葩)中的第二个RecyclerView总是只...

OC - WebView使用 之 获取 WebView 实际内容高度 及 其中一种导致WebView展示不全的bug

最近项目中,有一个模块,需要大量的图表。而且产品明确表明,图表只有一个要求,就是要好看,座椅使用原生控件,画的话,费时费力不说,还不一定好看。所以呢,我们就用了ECharts插件,iOS直接使用web...

解决GridView内容显示不全问题

我用GridView来显示一些字符串,而字符串的长度是不固定的,然后就遇到问题了:有时字符重叠,有时显示不全,有时两种问题同时出现。见下图: 图一 GridView显示重叠、显示不全这到底是什么情况...
  • lintax
  • lintax
  • 2016-07-30 12:12
  • 4543

ie11兼容性问题,jsp在IE11显示不全问题,ie11覆盖内容问题解决方法

ie11版本的兼容性问题,相比好多朋友都会遇到过,尤其是搞前段的猿们,

Java图形编程-Label内容显示不全的问题

之前遇到这么一个很有意思的问题,感觉有必要记录下来,方便以后学习,由于代码不是很复杂,我们就直接截图来分析说明黄色部分是一个Label,点击确定按钮之后,Label显示上面4个输入框中的内容,可以看到...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)