精通awk系列(3):铺垫知识:读取文件的几种方式
回到:
读取文件的几种方式
读取文件有如下几种常见的方式:
下面使用Shell的read命令来演示前4种读取文件的方式(第五种按字节数读取的方式read不支持)。
按字符数量读取
read的-n选项和-N选项可以指定一次性读取多少个字符。
1 | # 只读一个字符 |
如果按照字符数量读取,直到把文件读完,则使用while循环,且将文件放在while结构的后面,而不能放在while循环的条件位置:
1 | # 正确 |
按分隔符读取
read命令的-d选项可以指定读取文件时的分隔符。
1 | # 一直读取,直到遇到字符m才停止,并将读取的数据保存到data变量中 |
如果要按分隔符读取并读完整个文件,则使用while循环:
1 | while read -d "m" data ;do |
按行读取
read默认情况下就是按行读取的,一次读取一行。
1 | # 从a.txt中读取第一行保存到变量data中 |
如果要求按行读取完整个文件,则使用while循环:
1 | while read line;do |
一次性读整个文件
要一次性读取完整个文件,有两种方式:
- 按照字符数量读取,且指定的字符数要大于文件的总大小
- 按分隔符读取,且指定的分隔符是文件中不存在的字符,这样的话会一直读取,因为找不到分隔符而读完整个文件
1 | # 指定超出文件大小的字符数量 |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 骏马金龙!
评论