读文件的方法:

第一步: 将文件的内容通过管道(|)或重定向(<)的方式传给while

第二步: while中调用read将文件内容一行一行的读出来,并付值给read后跟随的变量。变量中就保存了当前行中的内容。

例如读取文件/sites/linuxpig.com.txt

1)管道的方式:

 cat /sites/linuxpig.com.txt |while read LINEdoecho $LINEdone当然也可以将cat /sites/linuxpig.com.txt 写成一些复杂一些的,比如:示例1:
find -type f -name "*.txt" -exec cat |while read LINEdoecho $LINEdone
可以将当前目录所有以 .txt 结尾的文件读出示例2:
grep -r "linuxpig.com" ./ | awk -F":" '{print $1}' | cat |while read LINEdoecho $LINEdone可以将含有 "linuxpig.com" 字符串的所有文件打开并读取。。示例没有实际测试,如果使用请先测试。。。。。:-)

2)重定向的方式:

2.1 利用重定向符<

 while read LINEdoecho $LINEdone < /sites/linuxpig.com.txt

2.2 利用文件描述符(0~9)和重定向符 <

 exec 3<&0 #先将文件描述符0复制到文件描述符3,也就是给文件描述符0做个备份exec 0</sites/linuxpig.com.txt  #读文件到文件描述符0while read LINE # 此变量是读来自stdin(即描述符0)的数据doecho $LINEdoneexec 0<&3 #将文件描述符3复制给文件描述符0(恢复0从键盘读入)

Shell中while循环的done 后接一个重定向相关推荐

  1. Shell中的循环语句for、while、until实例讲解

     在编程语言中,循环语句是最基本的语法之一,在Shell(这里是Bash)中也不例外,再把以前自己写过的相关内容整理一下吧. 这里包括for/while/until循环,以及变量自增的语法实例. ...

  2. shell中while循环案例

    shell中while循环案例 新建一个文件:  while_test.sh  ,复制一下代码: i=0 while ((i < 9))                             ...

  3. linux shell中实现循环日期的实例代码

    这篇文章主要介绍了linux shell中实现循环日期的实例代码,文中还给大家提到了LINUX SHELL遍历日期(指定输入两个日期)的实现方法,感兴趣的朋友跟随小编一起看看吧 下面通过一段代码给大家 ...

  4. Shell:shell中的循环语句

    shell中的循环语句 for语法格式 for var in list;do commands done 其中list可以包含: 1) 直接写 for alpha in a b c d;doecho ...

  5. shell中for循环

    1. for((i=1;i<=10;i++));do echo $(expr $i * 4);done 2.在shell中常用的是 for i in $(seq 10) 3.for i in l ...

  6. shell中for循环,读取一整行

    shell中for循环,读取一整行 shell中for循环的默认分隔符是:空格.tab.\n 需求是只以\n作为分隔符 shell for循环以\n作为分割符,方式一: 文件aa.sh [html]  ...

  7. while读取文件 Shell中while循环的陷阱, 变量实效, 无法赋值变量

    在写while循环的时候,发现了一个问题,在while循环内部对变量赋值.定义变量.数组定义等等环境,在循环外面失效. 一个简单的测试脚本如下: #!/bin/bash echo "abc ...

  8. shell中四大循环介绍及使用

    1.for循环结构语法及实例 1.1.for循环结构语法1 for 变量名 in 变量取值列表 do     指令---. done 提示:此结构中"in 变量取值列表"可省略,省 ...

  9. shell中for循环拼接字符串

    # 使用场景 通过shell脚本传参指定表名.分区字段和普通字段导入数据到hive表 # sh test.sh a b c d e f # 输出 d,e,f # 在当前目录下创建文本文件temp,如果 ...

最新文章

  1. nginx系列:nginx反向缓存代理详解
  2. 干货 | 基于贝叶斯推断的分类模型 机器学习你会遇到的“坑”
  3. leetcode算法题--替换所有的问号
  4. 优秀简历要遵循哪些规则
  5. 百度关键词排名查询源码_章丘百度霸屏总部,关键词排名腾沃云
  6. 提高代码的运行效率(1)
  7. 矩阵分解在推荐系统中的应用:NMF和经典SVD实战
  8. Javascript 高级程序设计--总结【二】
  9. sql注入工具、检测及手工注入集合
  10. 提前体验让人回归Windows怀抱的Windows Terminal
  11. 常见数据结构(二)-树(二叉树,红黑树,B树)
  12. 嘉兴 机器人仓库 菜鸟_菜鸟在嘉兴推出全新智能仓,宣布将在双11启用超级机器人仓群...
  13. Oracle 11g实时SQL监控 --好东西不该藏着
  14. flickr的浏览器
  15. JS动态添加div,然后在div中添加元素
  16. 网站改版注意事项—北京高端网站制作
  17. UDP协议转换TCP协议
  18. 电脑必备常用软件好用的软件合集
  19. Springboot 以输出流形式 在线预览PDF 文件分存储 (本地/远程)
  20. 调研套接字server bind 失败的原因?——Address already in use

热门文章

  1. linux字体怪异_在 linux 字体下的显示问题及几种解决办法
  2. 佳能相机 C# 编程
  3. 微信小程序日历弹框组件
  4. Python的重要优点和缺点是什么
  5. 计算机基础选择题总结(1)
  6. 苹果电容笔和普通电容笔的区别有哪些?Ipad10代平价电容笔推荐
  7. 函数(那些东西有了一个名字)
  8. c++: rvalue, prvalue, lvalue, glvalue
  9. 从零开始,手把手教你使用Keras和TensorFlow构建自己的CNN模型
  10. c语言打印qword类型,c/c++开发分享c语言中数据类型BYTE,WORD和DWORD的格式说明符?...