Shell脚本一次读取文件中一行的2种写法
写法一:
复制代码 代码如下:
#!/bin/bash
while read line
do
echo $line #这里可根据实际用途变化
done < urfile
写法二:
复制代码 代码如下:
#!/bin/bash
cat urfile | while read line
do
echo $line
done
注意:以上代码中urfile 为被读取的文件
Shell读取文本文件
方法一:通过命令获取所需内容,传递给变量
复制代码 代码如下:
var1=$(grep -i "^root" /etc/passwd | cut -d: -f 3 2>/dev/null) <=读取/etc/passwd文件中root的id
方法二:通过read命令读取这个文件
复制代码 代码如下:
while read wOne wTwo wThree
do
[ -z $wOne ] && continue #测试此行内容是否为空
xxx=$wOne #提取内容
done < /var/xxx/one.txt
echo "$xxx" #变量获取了文件中的内容
以下方法无法提取内容;但可以输出。问题似乎出在bash对管道的处理方法上
(bash可能生成了一个子shell处理管道输出)。
复制代码 代码如下:
cat /var/xxx/one.txt | while read wOne wTwo wThree
do
[ -z $wOne ] && continue #测试此行内容是否为空
xxx=$wOne #提取内容
done
echo "$xxx" #这里变量内容没有改变
上一篇:Shell脚本bash: ./t.sh:/bin/bash^M:损坏的解释器: 没有那个文件或目录
栏 目:其它服务器
下一篇:shell 1>&2 2>&1 &>filename重定向的含义和区别
本文地址:https://zz.feitang.co/server/34902.html
您可能感兴趣的文章
- 01-07Tomcat部署Bolo动态博客
- 01-07图文详解nginx日志切割的实现
- 01-07如何解决swarm docker 端口不通问题
- 01-07详解nginx location指令
- 01-07如何解决docker http 500错误问题
- 01-07windows server 2008安装配置DNS服务器
- 01-07Linux上搭载Nginx负载均衡配置使用案例详解
- 01-07NGINX 权限控制文件预览和下载的实现原理
- 01-07Nginx防盗链与服务优化配置的全过程
- 01-07使用 Apache 反向代理的设置技巧


阅读排行
推荐教程
- 12-23linux中ftp无法访问怎么办
- 12-11docker存储目录迁移示例教程
- 12-10docker start启动容器后仍然exit状态的解决
- 12-10Linux下如何安装Logstash
- 01-05Shell脚本去重的几种方法实例
- 12-22kvm虚拟机配置NAT端口转发的实现方法
- 12-19Zabbix SAML SSO 登录绕过漏洞的操作流程
- 12-15Docker-Compose搭建Spark集群的实现方法
- 12-14Docker Desktop无法正常启动解决(failed to start...)
- 12-14k8s 与docker空间使用分析与清理方法




