s// 它允许我们在规则表达式中定义 区域,然后可以在替换字符串中引用这些特定区域。
例如echo "abc def gke fde" |sed 's//(a[a-z]*/) /(d[a-z]*/) /(g[a-z]*/)//2 /1/'
返回结果为 def abc fde
'/x'(其中,x 是从 1 开始的区域号)来引用每个由圆括号定界的区域,那么在这里,用第二个域替换第一个域,用第一个域替换第二个域,用空""替换第三个域
我们用dos编辑的文件,在linux下打开(cat -v aa.txt)会有^M在行末,那么我们可以用sed命令删除
sed 's/^M//g' aa.txt > bb.txt
注意:这里的^M是按住Ctrl+v+m产生的,赋值,或其他方法产生的都是无效的
收藏文章
http://www.ibm.com/developerworks/cn/linux/shell/sed/sed-2/ sed实例分析
http://www.tsnc.edu.cn/tsnc_wgrj/doc/sed.htm