位置: 编程技术 - 正文
推荐整理分享Shell脚本逐行读取文本文件(不改变文本格式)(shell脚本逐条执行),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:shell脚本逐行读取文本并赋值,shell逐行读取,shell脚本逐行读取两个文件的内容,shell脚本逐行读取文本并赋值,shell脚本逐行读取两个文件的内容,shell脚本逐行读取文本,shell脚本逐行读取并发送post请求,shell脚本逐行读取文件内容,内容如对您有帮助,希望把文章链接给更多的朋友!
网上有很多 shell script 读文本文件的例子,但是都没有讲出故事的全部,只说了一半。举个例子,比如从一个 testfile 文件中读取如下格式的文本行:最常见的一个 line by line 读取文件内容的例子就是:这个例子的问题是读取文本行后,文本格式发生了变化,和原来 testfile 文件的内容不完全一致,空格字符自动被删除了一些。为什么会这样呢?因为 IFS,如果在 shell script 里没有明确指定 IFS 的话,IFS 会默认用来分割空格、制表、换行等,所以上面文本行里多余的空格和换行都被自动缩进了。
如果想要输出 testfile 文件原有的格式,把每行(作为整体)原封不动的打印出来怎么办?这时需要指定 IFS 变量,告诉 shell 以 "行" 为单位读取。上面两种方法的输出不是差不多吗,有什么关系呢,第一种还美观一些?关系重大,VPSee 昨天写了一个模拟 shell 的 C 程序,然后又写了一个 shell script 来测试这个 C 程序,这个 script 需要从上面的 testfile 里读取完整一行传给 C 程序,如果按照上面的两种方法会得到两种不同的输入格式,意义完全不同:显然我要的是第2种输入,把 "ls -a -l | sort | wc " 作为整体传给我的 mypipe,来测试我的 mypipe 能不能正确识别出字符串里面的各种命令。
如果不用 IFS 的话,还有一种方法可以得到上面第二种方法的效果:
Shell脚本配合iptables屏蔽来自某个国家的IP访问 星期六我们一位客户受到攻击,我们的网络监测显示有连续6小时的巨大异常流量,我们立即联系了客户,没有得到回应,我们修改和限制了客户的VPS,
Shell脚本一次读取文件中一行的2种写法 写法一:#!/bin/bashwhilereadlinedoecho$line#这里可根据实际用途变化doneurfile写法二:#!/bin/bashcaturfile|whilereadlinedoecho$linedone注意:以上代码中urfile为被读取的文件S
Bash脚本内置的调试方法技巧 用Bash写的脚本也可以进行调试,和Python,Perl等解释型语言一样。新建一个名为servinfo的脚本并增加可执行权限:$viservinfo#!/bin/bashecho"Hostname:$(hostname)"echo
标签: shell脚本逐条执行
本文链接地址:https://www.jiuchutong.com/biancheng/381158.html 转载请保留说明!友情链接: 武汉网站建设