如何使用bash脚本和for循环回显文件行
发布时间:2020-12-15 18:28:43 所属栏目:安全 来源:网络整理
导读:我有一个名为dbs.txt的简单文件 我想在bash中使用for循环将该文件的行回显到屏幕. 该文件如下所示: db1db2db3db4 bash文件名为test.sh 它看起来像这样 for i in 'cat dbs.txt'; doecho $idonewait 当我通过输入以下命令运行文件时: bash test.sh 我得到终
我有一个名为dbs.txt的简单文件
我想在bash中使用for循环将该文件的行回显到屏幕. 该文件如下所示: db1 db2 db3 db4 bash文件名为test.sh for i in 'cat dbs.txt'; do echo $i done wait 当我通过输入以下命令运行文件时: bash test.sh 我得到终端输出: cat dbs.txt 而不是希望的 db1 db2 db3 db4 以下bash文件很有用: cat dbs.txt | while read line do echo "$line" done 为什么第一个脚本不起作用?
您可以使用shell内置读取而不是cat.如果你只处理一个文件并且它不是很大,那么以下内容可能比大多数解决方案更容易,更便携:
#!/bin/sh while read line do printf "%sn" "$line" done < "$1" 我记得在某处读取printf比echo更安全,因为echo接受的选项可能因平台而异.所以养成使用printf的习惯可能是值得的. 有关read builtin的说明,请查看shell的手册页. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- bash – 如何在UNIX中将“19-FEB-12”等字符串转换为纪元日
- Angular 5.2 AOT构建错误预期0个参数,但在使用$event时得到
- AngularJS简介
- angular4学习记录 -- 组件通讯、生命周期
- ldap – 结果:32没有这样的对象
- 在Bash的静态HTML文件上运行jQuery
- wsimport 生成天气预报的类 注意事项
- WebService大讲堂之Axis2(9):编写Axis2模块(Module)
- 基于webpack构建的angular 1.x 工程(一)webpack篇
- scala – Spark SQL执行carthesian join而不是inner join