sed -i 主要作用就是操作文本 如下:
去掉 “行首” 带“@”的首字母@
1 | sed -i 's/^@//' file |
特定字符串的行前插入新行
1 | sed -i '/特定字符串/i 新行字符串' file |
特定字符串的行后插入新行
1 | sed -i '/特定字符串/a 新行字符串' file |
特定字符串的删除
1 | sed -i '/字符串/d' file |
提示: 以上斜杠可以换成~ 一样实现相同功能
问题场景:
在mac上,使用sed命令把当前目录的test.sql文件内容中的a替换为b,使用命令:sed -i “s/a/b/g” test.sql
遇到报错:sed: 1: “grep …”: extra characters at the end of g command
解决:
在mac中使用sed命令在-i参数后面需要带一对双引号””,正确格式如下:
1 | sed -i "" "s/a/b/g" test.sql |
原因
sed -i 后面的双引号中可写任意字符串或者为空,含义是用于生成源文件的备份文件的文件名。比如上面的例子:sed -i “_tmp” “s/a/b/g” test.sql,在替换test.sql的同时,还会生成test.sql_tmp的备份文件
本文为作者原创 转载时请注明出处 谢谢
乱码三千 – 点滴积累 ,欢迎来到乱码三千技术博客站