Linux基础命令之Sed命令

版权声明:欢迎转载,转载请说明出处https://csdn.yanxml.com。大数据Github项目地址https://github.com/SeanYanxml/bigdata。 https://blog.csdn.net/u010416101/article/details/84332866

前言

近来,在看别人的脚本的时候看见sed命令。之前一直没有总结,于是在此,总结一波。


Sed

Sed命令主要用来替换字符串使用。可以做到替换字符串、添加注释等功能。

# example1
# 读取变量 更改配置
if [ "${advertised_host_name}" != "" ]; then
	sed -i 's/^advertised.host.name=.*/advertised.host.name='$advertised_host_name'/' ../app/config/server.properties;
fi

注:sed的分割符是可以改变的/%@都可以。这在遇到转义符号的时候需要特别注意。


Others

sed对指定行添加或删除注释
如下文本 zimu.txt

aaaaa

#bbbbbb

cccccc

dddddd

以下命令如果需要在文本中更改 需要加 -i 或者 -ri参数

用sed在aaa前加#注释

sed ‘s/^aaa/#&/’ zimu.txt # &的意思是匹配任意字符(就是说未知数,啥都行) 这条命令是 替换以aaa开头的

用sed取消bbb前面的注释

sed ‘s/^#(bbb)/\1/’ zimu.txt #\1的意思 就类似于 前面的 (bbb\) \1就是复制这个位置的内容 如果有 第二个 那么久\2就是复制第二个位置的内容

上面那条命令等同于

sed ‘s/^#bbb/bbb/’ zimu.txt


Reference

[1]. sed对指定行添加或删除注释

没有更多推荐了,返回首页