python awk 读文件_awk从入门到精通(二):读取文件的几种方式

读取文件的几种方式

读取文件有如下几种常见的方式:按字符数量读取:每次可读取一个字符,或者多个字符,直到把整个文件读完

按照分隔符进行读取:一直读取直到遇到分隔符停止,下次继续从分隔符位置向后读取,直到读取整个文件

按行读取:每次读取一行,直到把整个文件读完。

它是按照分隔符读取的一种特殊情况,将分隔符指定为换行符\n

一次性读取整个文件

是按字符数量读取的特殊情况

也是按分隔符读取的特殊情况

按字节数量读取:一次读取指定数量的字节数据,直到把文件读完

下面使用Shell的read命令来演示前4种读取文件的方式(第五种按字节数读取的方式read不支持)。

按字符数量读取

read的-n选项和-N选项可以指定一次性读取多少个字符。# 只读一个字符

read -n 1 data 

# 读100个字符,但如果不足100字符时遇到换行符则停止读取

read -n 100 data 

# 强制读取100字符,遇到换行符也不停止

read -N 100 data 

如果按照字符数量读取,直到把文件读完,则使用while循环,且将文件放在while结构的后面,而不能放在while循环的条件位置:# 正确

while read -N 3 data;do

echo "$data"

done 

# 错误

while read -N 3 data 

echo "$data"

done

按分隔符读取

read命令的-d选项可以指定读取文件时的分隔符。# 一直读取,直到遇到字符m才停止,并将读取的数据保存到data变量中

read -d "m" data 

如果要按分隔符读取并读完整个文件,则使用while循环:while read -d "m" data ;do

echo "$data"

done 

按行读取

read默认情况下就是按行读取的,一次读取一行。# 从a.txt中读取第一行保存到变量data中

read line 

如果要求按行读取完整个文件,则使用while循环:while read line;do

echo "$line"

done 

一次性读整个文件

要一次性读取完整个文件,有两种方式:按照字符数量读取,且指定的字符数要大于文件的总大小

按分隔符读取,且指定的分隔符是文件中不存在的字符,这样的话会一直读取,因为找不到分隔符而读完整个文件# 指定超出文件大小的字符数量

read -N 1000000 data 

echo "$data"

# 指定文件中不存在的字符作为分隔符

read -d "_" data 

echo "$data"

本文来自投稿,不代表访得立场,如若转载,请注明出处:http://www.found5.com//view/1393.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值