cat a.txt
jack 1
tianjin 2
old5 3
sh read.sh
jack 1
tianjin 2
old5 3
加上模拟输出:
insert into t set name='xxx', id=N;
sh read.sh
insert into t set name='jack',id=1;
insert into t set name='tianjin',id=2;
insert into t set name='old5',id=3;
行内有空格换行的原因:
如果输入文本每行中没有空格,则line在输入文本中按换行符分隔符循环取值.
如果输入文本中包括空格或制表符,则不是换行读取,line在输入文本中按空格分隔符或制表符或换行符特环取值.
可以通过把IFS设置为换行符来达到逐行读取的功能.
demo:
假设现需要读取如下的文件rollback_config.txt:
ROLLBACK_SERVICES:upserv checkserv
ROLLBACK_VERSION:v1.1
使用 for line in `cat rollback_config.txt`; do echo "${line}"; done 读取的结果会是:
ROLLBACK_SERVICES:upserv
checkserv
ROLLBACK_VERSION:v1.1
显然不是我们想要的。
解决方法:
IFS_old=$IFS
IFS=$'\n'
for line in `cat rollback_config`;do
echo "$line"
done;
IFS=$IFS_old
这样一来就可以了!
IFS的默认值为:空白(包括:空格,制表符,换行符).
---------------------
本文来自 潼潼水势向江东 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/zhongjling/article/details/52859055?utm_source=copy
二)用AWK就很方便处理,如下,注意下单引号是三个单引号,中间那个被转义,才输出一个单引号 '\'' :
insert into t set name='jack',id=1;
insert into t set name='tianjin',id=2;
insert into t set name='old5',id=3;
jack 1
tianjin 2
old5 3
sh read.sh
jack 1
tianjin 2
old5 3
加上模拟输出:
insert into t set name='xxx', id=N;
sh read.sh
insert into t set name='jack',id=1;
insert into t set name='tianjin',id=2;
insert into t set name='old5',id=3;
行内有空格换行的原因:
如果输入文本每行中没有空格,则line在输入文本中按换行符分隔符循环取值.
如果输入文本中包括空格或制表符,则不是换行读取,line在输入文本中按空格分隔符或制表符或换行符特环取值.
可以通过把IFS设置为换行符来达到逐行读取的功能.
demo:
假设现需要读取如下的文件rollback_config.txt:
ROLLBACK_SERVICES:upserv checkserv
ROLLBACK_VERSION:v1.1
使用 for line in `cat rollback_config.txt`; do echo "${line}"; done 读取的结果会是:
ROLLBACK_SERVICES:upserv
checkserv
ROLLBACK_VERSION:v1.1
显然不是我们想要的。
解决方法:
IFS_old=$IFS
IFS=$'\n'
for line in `cat rollback_config`;do
echo "$line"
done;
IFS=$IFS_old
这样一来就可以了!
IFS的默认值为:空白(包括:空格,制表符,换行符).
---------------------
本文来自 潼潼水势向江东 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/zhongjling/article/details/52859055?utm_source=copy
二)用AWK就很方便处理,如下,注意下单引号是三个单引号,中间那个被转义,才输出一个单引号 '\'' :
insert into t set name='jack',id=1;
insert into t set name='tianjin',id=2;
insert into t set name='old5',id=3;
作者:jackxiang@向东博客 专注WEB应用 构架之美 --- 构架之美,在于尽态极妍 | 应用之美,在于药到病除
地址:http://jackxiang.com/post/9921/
版权所有。转载时必须以链接形式注明作者和原始出处及本声明!
最后编辑: jackxiang 编辑于2018-9-29 16:06
评论列表