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

一个简单的入门

ba09ba0aa4bf3fc501b33775186f1c26.png

如图,一个简单的sed命令包含三个主要部分:参数、范围、操作。要操作的文件,可以直接挂在命令行的最后。除了命令行,sed也可以通过-f参数指定一个sed脚本,这个属于高级用法,不做过多描述。

有些示例命令我会重复多次,聪明如你一定能发现其中规律,有时连解释都用不着。

参数

-n 这个参数是--quiet或者--silent的意思。表明忽略执行过程的输出,只输出我们的结果即可。

我们常用的还有另外一个参数 :-i。

使用此参数后,所有改动将在原文件上执行。你的输出将覆盖原文件。非常危险,一定要注意。


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部