+ -
当前位置:首页 → 问答吧 → 如何把文字插入到a.txt 的第1行?

如何把文字插入到a.txt 的第1行?

时间:2011-04-08

来源:互联网

echo "/*!40101 SET NAMES utf8 */;"  > a.txt
错误如下-bash: !40101: event not found

用什么方法可以把/*!40101 SET NAMES utf8 */;  这个插入到 a.txt文件的第1行 ?  (a.txt 有200m的 数据文件
insert into ......的 sql语句.  ).


实际 上是2个小问题
1  如何把含转义的符号文字插入a.txt
2  如何把文字插入到a.txt 的第1行?

作者: liyihongcug   发布时间: 2011-04-08

echo '/*!40101 SET NAMES utf8 */;' | cat - a.txt > b.txt

作者: ziyunfei   发布时间: 2011-04-08

本帖最后由 liyihongcug 于 2011-04-08 14:32 编辑

echo '/*!40101 SET NAMES utf8 */;' | cat - a.log > b.txt
cat b.txt
/*!40101 SET NAMES utf8 */;--------------------是对的
666 888 999

作者: liyihongcug   发布时间: 2011-04-08

戴眼镜

作者: ziyunfei   发布时间: 2011-04-08

本帖最后由 yinyuemi 于 2011-04-08 14:31 编辑

回复 liyihongcug


    1.用单引号
   2.
  1. var=`echo '/*!40101 SET NAMES utf8 */;'`
  2. sed "1i $var " file
复制代码

作者: yinyuemi   发布时间: 2011-04-08

var=`echo '/*!40101 SET NAMES utf8 */;'`
sed -i "1i $var " b.txt

修改如上 感谢楼上

作者: liyihongcug   发布时间: 2011-04-08

为啥要echo多次一举
var='/*!40101 SET NAMES utf8 */;
'

作者: prc   发布时间: 2011-04-08



QUOTE:
var=`echo '/*!40101 SET NAMES utf8 */;'`
sed -i "1i $var " b.txt

修改如上 感谢楼上
liyihongcug 发表于 2011-04-08 14:47



也可以:
    sed -i file.bak "code" file
可以back up 原始文件:em03:

作者: yinyuemi   发布时间: 2011-04-08

回复 liyihongcug

echo -e "/* "\!"40101 SET NAMES utf8 */;"  > a.txt

作者: 南极雨   发布时间: 2011-04-08