Bash
1 前言
一个问题,一篇文章,一出故事。
笔者需要使用shell实现逐行(一行一行)地读取文件行并处理,于是整理如下。
2 最佳实践
2.1 while循环配合read命令
#!/bin/bash while read line; do echo "$line" done < "/var/log/messages"
或者,按如下方式书写,
#!/bin/bash cat "/var/log/messages" | while read line; do echo $line done
2.2 Pipemill的方式读取
#!/bin/bash cat "/var/log/messages" | while read partA partB partC; do echo $partA echo $partB echo $partC done
或者,按如下方式书写,
#!/bin/bash while read partA partB partC; do echo $partA echo $partB echo $partC done < "/var/log/messages"
注:Pipemail中文翻译为“制管机”,用法是管道配合“while”循环以及“read”读取管道传递的多个变量并利用。
参阅文档
=====================
https://www.cnblogs.com/scoter2008/p/6012961.html
没有评论