linux脚本中$命令,linux下shell脚本中sed命令的用法
先来给一个案例:
#将old.sql文件中的符号“|”替换为“,”,并保存到test.sql文件中
sed "s/|/,/g" "old.sql"> test.sql
#将test.sql文件中的每一行最后的符号“,”删除
sed -i 's/,$//g' test.sql
#在test.sql文件中每行的开头添加左括号“(”
sed -i 's/^/(&/g' test.sql
#在test.sql文件中每一行的末尾添右括号“)”
sed -i 's/$/&)/g' test.sql
#统计文件old.sql的行数
c=`sed -n '$=' /home/work/BaikalDB/tpch/load/data_tbl/old.sql`
#在test.sql文件的第3行~3+99行的末尾添右括号“,”
sed -i "3,+99 s/$/&,/" test.sql
#在test.sql文件的第n行的开头添加“insert into table values”,这里的可以为具体的数字,也可以为变量的值,如j变量:${j}
sed -i "niinsert into table values " test.sql
#将test.sql文件的最后一行末尾的“,”换成“;”,这里的可以为具体的数字,也可以为变量的值,如j变量:${j}
sed -i "ns/,$/;/" test.sql
一个简单的入门

如图,一个简单的sed命令包含三个主要部分:参数、范围、操作。要操作的文件,可以直接挂在命令行的最后。除了命令行,sed也可以通过-f参数指定一个sed脚本,这个属于高级用法,不做过多描述。
有些示例命令我会重复多次,聪明如你一定能发现其中规律,有时连解释都用不着。
参数
-n 这个参数是--quiet或者--silent的意思。表明忽略执行过程的输出,只输出我们的结果即可。
我们常用的还有另外一个参数 :-i。
使用此参数后,所有改动将在原文件上执行。你的输出将覆盖原文件。非常危险,一定要注意。
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
