Chinaunix
标题:
如何不使用read line来逐行处理文本?
[打印本页]
作者:
matrixzj
时间:
2012-10-23 11:59
标题:
如何不使用read line来逐行处理文本?
目前脚本写成这样的时候
#! /bin/bash
for i in `cat /root/ks.cfg`; do
echo $i
done
遇到文件中的空格就会转行
如果使用while read line来处理就会遇到另一个问题,它会fork一个新的进程,达不到我的需要。
请问怎么处理呢?
作者:
blackold
时间:
2012-10-23 12:05
回复
1#
matrixzj
"遇到空格就会转行“?
作者:
aqbssh
时间:
2012-10-23 12:14
本帖最后由 aqbssh 于 2012-10-23 12:38 编辑
回复
2#
blackold
看 错了 ,删了,不好意思
不过,你可以在 for 循环之前设置一下 IFS="\n" ,就会打印整条的记录了。
作者:
kk5234
时间:
2012-10-23 12:26
回复
1#
matrixzj
#! /bin/bash
for i in "`cat /root/ks.cfg`"; do
echo "$i"
done
作者:
yestreenstars
时间:
2012-10-23 13:12
aqbssh 发表于 2012-10-23 12:14
回复 2# blackold
看 错了 ,删了,不好意思
这个方法有效,LZ可以试一下。
#! /bin/bash
IFS="\n"
for i in `cat /root/ks.cfg`; do
echo $i
done
复制代码
作者:
qq312873977
时间:
2012-10-23 13:18
回复
5#
yestreenstars
最好把$i用双引号括起来
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2