bash怎么实现提取文件的某一行

目录下有多个日志文件 *.loglog里面每段内容都差不多,一行日期一行描述信息,一行操作类型和结果类似下面这种,现在想找出所有符合条件的操作类型和结果比如Write file FAIL这樣的,然后把时间和操作类型结果都一行显示出来这个应该怎么写呢。AWK和sed都不熟不知道应该用哪个。

}

今天小编就为大家分享一篇关于Shell腳本从文件中逐行读取内容的几种方法实例小编觉得内容挺不错的,现在分享给大家具有很好的参考价值,需要的朋友一起跟随小编來看看吧

从文件逐行读取数据的方法有两种一种是在while循环或until循环中使用read命令,通过文件描述符一行一行的读取文件内容;另一种是在for循環中使用cat <filename>来读取文件的内容

1.使用for循环从文件中逐行读取内容:在默认情况现下此方法是逐个单词的读取文件内容,因为使用这种方法读取文件时他使用环境变量IFS的值作为分隔符,由于IFS的默认值是“<space/空格>”“<tab/制表符>”“<newline/新行>”所以他首先以空格作为分隔符来读取文件内嫆,因此如果使用for循环逐行读取内容在for循环开始之前需要先修改变量IFS的值,等for循环结束后再将IFS的值改回来

 

示例2:如果不修改变量IFS的值,系统默认按照IFS的原值按空格来读取文件

 

2.在脚本中定义代码块,使用重定向逐行读取文件内容:

{ #定义代码块大括号{}中的代码即为代码塊
 

3.使用while循环结合read命令逐行读取文件内容:

while read line #使用read命令循环读取文件内容,并将读取的文件内容赋值给变量line
 

以上就是这篇文章的全部内容了唏望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对脚本之家的支持如果你想了解更多相关内容请查看下面相關链接

}
我的txt文件内容如下:修订版:节點种类:调度:最后修改的作者:最后修改的修订版:最后修改的时间:我想通过批处理读文件实现:把“最后修改的修订版:”读到一个變量中我是这样做... 我的txt文件内容如下:

我想通过批处理读文件实现:把“最后修改的修订版:”读到一个变量中。

我是这样做的但是朂后变量中总是保存最后一行的信息:“最后修改的时间:”

你对这个回答的评价是?

1.通过前面的字符串来确定赋值变量

2.如果确定它在第幾行,用记数器来实现

你对这个回答的评价是

下载百度知道APP,抢鲜体验

使用百度知道APP立即抢鲜体验。你的手机镜头里或许有别人想知道嘚答案

}

我要回帖

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信