免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 15971 | 回复: 11
打印 上一主题 下一主题

如何循环读取变量的每一行 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-04-05 16:28 |只看该作者 |倒序浏览
一个变量HISTORY如下(其实每一行是一个数据,一共N行):
1333198988 20120327T120744
1333198988 20120328T005435
1333198988 20120328T174522
1333198988 20120329T030136
1333198989 20120329T175712
1333198989 20120330T094022
1333198989 20120330T202023
1333198989 20120331T095952
1333198989 20120331T184124
1333199275 20120331T210754
1333251113 20120401T083325
1333264339 20120401T151219

如何循环读取变量的每一行呢?

下面这种格式适合于读文件,但是如何循环变量内的行呢?
while read line
do
  echo $line
done < file
哪位高人知道,指点一下呗。

论坛徽章:
0
2 [报告]
发表于 2012-04-05 16:31 |只看该作者
....line不就是行吗?

论坛徽章:
0
3 [报告]
发表于 2012-04-05 16:41 |只看该作者
回复 2# mpstat


    问题HISTORY是变量,不是文件。

论坛徽章:
0
4 [报告]
发表于 2012-04-05 16:59 |只看该作者
  1. echo "$HISTORY" | while ... done
复制代码

论坛徽章:
0
5 [报告]
发表于 2012-04-05 17:02 |只看该作者
本帖最后由 icetown 于 2012-04-05 17:08 编辑

回复 4# hbmhalley


    这种循环倒是没错,但是却把1333198988 20120327T120744当做两行了,实际上他们是在一行上。

论坛徽章:
0
6 [报告]
发表于 2012-04-05 17:05 |只看该作者
回复 5# icetown


    什么意思?
  1. bash.exe"-3.1$ echo "$i"
  2. a 1
  3. b 2
  4. c 3
  5. bash.exe"-3.1$ echo "$i" | while read line; do echo $line; done
  6. a 1
  7. b 2
  8. c 3
复制代码

论坛徽章:
0
7 [报告]
发表于 2012-04-05 17:07 |只看该作者
回复 6# hbmhalley


    ok,这样确实没问题,我理解错了。

论坛徽章:
0
8 [报告]
发表于 2012-04-05 20:09 |只看该作者
回复 3# icetown


    用<<<$HISTORY试试

论坛徽章:
0
9 [报告]
发表于 2012-04-06 08:33 |只看该作者
本帖最后由 FaintKnowledge 于 2012-04-06 08:34 编辑
  1. for i in `echo $HISTORY ` ;do echo $i ; done
复制代码

论坛徽章:
0
10 [报告]
发表于 2012-04-06 10:30 |只看该作者
  1. IFS_bak=$IFS
  2. IFS="\n"
  3. while read line
  4. do
  5.   echo $line
  6. done < file
  7. IFS=$IFS_bak
复制代码
回复 1# icetown


   
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP