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

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

# 删除8的倍数行
gsed '0~8d'                                                                                  # 只对GNU sed有效
sed 'n;n;n;n;n;n;n;d;'                                                                    # 其他sed
# 删除匹配式样的行
sed '/pattern/d'                                                                              # 删除含pattern的行。当然pattern
                                                                                                # 可以换成任何有效的正则表达式

# 删除文件中的所有空行(与“grep '.' ”效果相同)
sed '/^$/d' # 方法1
sed '/./!d' # 方法2
# 只保留多个相邻空行的第一行。并且删除文件顶部和尾部的空行。
# (模拟“cat -s”)
sed '/./,/^$/!d'                                                                                #方法1,删除文件顶部的空行,允许尾部保留一空行
sed '/^$/N;/n$/D'                                                                        #方法2,允许顶部保留一空行,尾部不留空行

# 只保留多个相邻空行的前两行。
sed '/^$/N;/n$/N;//D'
# 删除文件顶部的所有空行
sed '/./,$!d'
# 删除文件尾部的所有空行
sed -e :a -e '/^n*$/{$d;N;ba' -e '}'                                          # 对所有sed有效
sed -e :a -e '/^n*$/N;/n$/ba'                                                  # 同上,但只对gsed 3.02.*有效