SED单行脚本快速参考(流编辑器)第1/2页

2019-09-23 09:50:49于丽

# 将每一行中的前导和拖尾的空白字符删除
sed 's/^[ t]*//;s/[ t]*$//'
# 在每一行开头处插入5个空格(使全文向右移动5个字符的位置)
sed 's/^/ /'
# 以79个字符为宽度,将所有文本右对齐
sed -e :a -e 's/^.{1,78}$/ &/;ta'                                                            # 78个字符外加最后的一个空格
# 以79个字符为宽度,使所有文本居中。在方法1中,为了让文本居中每一行的前
# 头和后头都填充了空格。在方法2中,在居中文本的过程中只在文本的前面填充
# 空格,并且最终这些空格将有一半会被删除。此外每一行的后头并未填充空格。

sed -e :a -e 's/^.{1,77}$/ & /;ta'                                                            # 方法1
sed -e :a -e 's/^.{1,77}$/ &/;ta' -e 's/( *)1/1/'                                    # 方法2
# 在每一行中查找字串“foo”,并将找到的“foo”替换为“bar”
sed 's/foo/bar/'                                                                                        # 只替换每一行中的第一个“foo”字串
sed 's/foo/bar/4'                                                                                      # 只替换每一行中的第四个“foo”字串
sed 's/foo/bar/g'                                                                                      # 将每一行中的所有“foo”都换成“bar”
sed 's/(.*)foo(.*foo)/1bar2/'                                                              # 替换倒数第二个“foo”
sed 's/(.*)foo/1bar/'                                                                              # 替换最后一个“foo”