六、sed

2019-04-15  本文已影响0人  薛定谔的猫_1406

sed的工作模式

sed是一个流编辑器,比如修改删除等都是编辑。


sed流编辑器
sed的语法格式,pattern是对符合pattern的行过滤,然后将这些行交给comman进行处理。假如没有pattern就是对每一行会进行command处理

sed选项

sed命令选项
sed打印
sed -n
pattern
-e
假如这个/pattern/command非常的复杂,可以将其写在一个*.sed文件中,然后用-f指定该文件
-r扩展正则表达式
‘/s//g’逐行替换
替换

sed中的pattern

pattern用发表
sed打印
sed pattern2

sed中的编辑命令详解

编辑命令对照1
编辑命令2

反向引用

反向引用
有一个文件,需要把符合Pattern:had..p的字符串其后都加一个s
实例

使用注意点

变量替换
sed中使用变量

利用sed查询指定内容

sed配合grep
#!/bin/bash
#

FILE_NAME=/root/lesson/5.6/my.cnf

function get_all_segments
{
    echo "`sed -n '/\[.*\]/p' $FILE_NAME  | sed -e 's/\[//g' -e 's/\]//g'`"
}

function count_items_in_segment
{
    items=`sed -n '/\['$1'\]/,/\[.*\]/p' $FILE_NAME | grep -v "^#" | grep -v "^$" | grep -v "\[.*\]"`
    
    index=0
    for item in $items
    do
        index=`expr $index + 1`
    done

    echo $index

}

number=0

for segment in `get_all_segments`
do
    number=`expr $number + 1`
    items_count=`count_items_in_segment $segment`
    echo "$number: $segment  $items_count"
done

利用sed删除特定内容

删除
删除
删除3
删除空行
非#开头的加*

利用sed修改文件内容

修改文件内容
修改文件内容

利用sed追加文件内容

追加内容
实例1
上一篇 下一篇

猜你喜欢

热点阅读