在shell中读入文件,如果取消\'\'反斜杠的转义
时间:2010-08-17 来源:Steven1981
cat $SQLFILE | while read -r LINE
-r Backslash does not act as an escape character. The backslash is considered to be part of the
line. In particular, a backslash-newline pair may not be used as a line continuation.
我们来看一下效果:(注意read后面的-r)
[root@im_ctuallot2 dmp-heyf]# cat del_on_db1111.sql
delete from ctulog.db_allot where id='cntaobao[;'[]';
delete from ctulog.db_allot where id='cntaobaogirl's kiss';
delete from ctulog.db_allot where id='cntaobaosxzcdfwehjkil'';
delete from ctulog.db_allot where id='cntaobao江阴的许文强'';
[root@im_ctuallot2 dmp-heyf]# cat debug.sh
#!/bin/bash
DBID=1111
SQLFILE=del_on_db${DBID}.sql
cat $SQLFILE | while read LINE
do
echo -e "$LINE"
done
[root@im_ctuallot2 dmp-heyf]# sh debug.sh
delete from ctulog.db_allot where id='cntaobao[;'[]';
delete from ctulog.db_allot where id='cntaobaogirl's kiss';
delete from ctulog.db_allot where id='cntaobaosxzcdfwehjkil'';
delete from ctulog.db_allot where id='cntaobao江阴的许文强'';
[root@im_ctuallot2 dmp-heyf]# cat debug.sh
#!/bin/bash
DBID=1111
SQLFILE=del_on_db${DBID}.sql
cat $SQLFILE | while read -r LINE
do
echo -e "$LINE"
done
[root@im_ctuallot2 dmp-heyf]# sh debug.sh
delete from ctulog.db_allot where id='cntaobao[;'[]';
delete from ctulog.db_allot where id='cntaobaogirl's kiss';
delete from ctulog.db_allot where id='cntaobaosxzcdfwehjkil'';
delete from ctulog.db_allot where id='cntaobao江阴的许文强'';