sed 常见用法
(1)添加注释
sed -i 's/^\(77\)/# \1/' /tmp/abc/test.txt
注释掉指定行:
sed -e '2,3{s/^/#/}' test.txt
说明:注释掉第2行和第三行
删除c语言的注释(//)
sed -e 's/\/\/\(.*\)/\1/g' fenzhifa.c
(2)删除注释
sed -i 's/^#[[:space:]]*//' /tmp/abc/test.txt
(3)获取脚本所在目录
shell脚本文件名称:loc.sh
内容:
#!/bin/sh #---------------------------- locate this_dir ----------------start ## this file path this_dir=`pwd` dirname $0|grep "^/" >/dev/null if [ $? -eq 0 ];then this_dir=`dirname $0` else dirname $0 | grep "^\.$" >/dev/null if [ $? -ne 0 ];then this_dir=`dirname $0|sed "s#^#${this_dir}/#"` fi fi echo $this_dir #---------------------------- locate this_dir ----------------end
执行:
ctier@allinone-yunyingyong-2-v-o:/tmp/abc/ccc$ ./loc.sh
/tmp/abc/ccc
(4)在键值对后面增加export
sed -e "s#\(.*\)=.*#&\nexport \1#" prop.txt
prop.txt的内容如下:
name=whuang
age=27
运行结果:
ctier@allinone-yunyingyong-chanjet02-v-o:/tmp/abc$ sed -e "s#\(.*\)=.*#&\nexport \1#" prop.txt
name=whuang
export name
age=27
export age
对于path变量
ctier@allinone-yunyingyong-chanjet02-v-o:/tmp/abc$ sed "s#\(.*\)=\(.*\)#if [ x\"$\1\" = x ];then\n\t&\nelse\n\t&:\"$\1\"\nfi\nexport \1#" prop.txt
if [ x"$name" = x ];then
name=whuang
else
name=whuang:"$name"
fi
export name
if [ x"$age" = x ];then
age=27
else
age=27:"$age"
fi
export age
(5)解决中标麒麟注册服务失败的问题
#!/bin/sh if [ `id -u` -ne 0 ];then echo "Please rerun this script as root ." exit 2 fi if [ -z "$1" ];then echo "please specify patch path:" exit 2 fi
#-------------------------------- function start ------------------------------------------ delete_Required_Start() { filePath="$1" if [ -f "$filePath" ];then sed -i '2,10{/Required-Start/d;}' "$filePath" sed -i '2,10{/Required-Stop/d;}' "$filePath" fi } #-------------------------------- function end ------------------------------------------
this_dir=`pwd` patch_path="$1" ls "$patch_path/patch.sh" >/dev/null 2>&1 if [ $? -eq 0 ];then patch_path="$patch_path/patch" fi server_bin="$patch_path/patch/build/SERVER/bin" tomcat_bin="$patch_path/patch/build/STOOLS/tomcat/bin" cd "$server_bin" for ii in `ls *7d`;do delete_Required_Start "$ii" done
cd "$tomcat_bin" for ii in `ls *7d`;do delete_Required_Start "$ii" done
sed -i 's/log_warning_message\([ ]*(\)/log_warning_msg\1/' /lib/lsb/init-functions
cd "$this_dir" |
相关推荐
sed 用法sed 用法sed 用法sed 用法sed 用法
根据个人平时多年的学习积累,总结的sed所有用法,包括sed中删除,修改,添加,插入,合并,交换,读入,替换,跳转,标签,转换等高级用法!
sed中文指南 详细介绍了SED的用法与实例
sed高级用法.html 这个可要好好学一学,用得着,十分方便的工具
5.4: 正则表达式 、 sed基本用法 、 sed文本块处理.docx
主要介绍一下linux中sed的用法;和上一个awk设计得一样;
多年工作实践总结Shell与Sed常用用法,都是必须要掌握的!
NULL 博文链接:https://hw1287789687.iteye.com/blog/1727749
LINUX的awk和sed的常用用法 LINUX的awk和sed的常用用法
网络安全三剑客之sed的用法+语法
sed,awk用法,sed,awk是linux开发必备知识,公司常用技术,很好很强大的sed和awk用法介绍,绝对值得您收藏学习。好资源大家一起分享!
sed用法介绍,高阶应用
sed是一个很好的文件处理工具,本身是一个管道命令,主要是以行为单位进行处理,可以将数据行进行替换、删除、新增、选取等特定工作,下面先了解一下sed的用法
此文档包含了对sed的从用法介绍到用法实例,应该会对大家有所帮忙加深对sed的理解
sed 用法 入门 菜鸟必备入门手册 完成它的内容你就可以入门了。加油学习吧
文章主要介绍Linux下sed命令的用法,感兴趣的朋友可以看看。
sed是非交互式的编辑器。它不会修改文件,除非使用shell重定向来保存结果。默认情况下,所有的输出行都被打印到屏幕上。
本人从多个网址获取内容的总结,经本人加工,比较详实。
Shell、awk、sed面试题汇总(无答案).doc
介绍sed的基本用法