Linux读取文件的几种方式
技术问题
Linux读取文件的几种方式
2025-01-04 09:12
Linux读取文件的几种方式
读取文件有如下几种常见的方式:
- 按字符数量读取:每一次读取一个字符,或者多个字符,直到把整个文件读取完# 范例:read命令的-n选项和-N选项可以指定一次性读取多少个字符# 只读一个字符read -n 1 data <a.txtecho $data# 读一百个字符,如果不足100字符时遇到换行符则停止读取read -n 100 data < a.txtecho $data# 读一百个字符,遇到换行符也不停止读取read -n 100 data < a.txtecho $data如果按照字符数量读取,直到把文件读完,则使用while循环,且将文件放在while结构的后面,而不能放在while循环的条件位置:# 正确while read -n 3 data;do echo "$data"done <a.txt# 错误while read -n 3 data < a.txt;do echo "$data"done< li="" style="margin: 0px; padding: 0px; box-sizing: border-box; list-style: none;"></a.txtecho $data# 读一百个字符,如果不足100字符时遇到换行符则停止读取read -n 100 data < a.txtecho $data# 读一百个字符,遇到换行符也不停止读取read -n 100 data < a.txtecho $data如果按照字符数量读取,直到把文件读完,则使用while循环,且将文件放在while结构的后面,而不能放在while循环的条件位置:# 正确while read -n 3 data;do echo "$data"done <a.txt# 错误while read -n 3 data < a.txt;do echo "$data"done<>
- 按照分隔符进行读取: 一直读取值到遇到了指定的分隔符停止,下次继续从分隔的位置处向后读取,直到读完整个文件read命令的-d选项可以指定读取文件时的分隔符。# 一直读取,直到遇到字符m才停止,并将读取的数据保存到data变量中read -d "m" data <a.txt如果要按分隔符读取并读完整个文件,则使用while循环:while read -d "m" data ;do echo "$data"done <a.txt< li="" style="margin: 0px; padding: 0px; box-sizing: border-box; list-style: none;"></a.txt如果要按分隔符读取并读完整个文件,则使用while循环:while read -d "m" data ;do echo "$data"done <a.txt<>
- 按行读取:每次读取一行,直到把整个文件读完(他是按照分隔符读取的一种特殊情况:将分隔符指定为\\\\n)read默认情况下就是按行读取的,一次读取一行。# 从a.txt中读取第一行保存到变量data中read line <a.txt如果要求按行读取完整个文件,则使用while循环:while read line;do echo "$line"done <a.txt< li="" style="margin: 0px; padding: 0px; box-sizing: border-box; list-style: none;"></a.txt如果要求按行读取完整个文件,则使用while循环:while read line;do echo "$line"done <a.txt<>
- 一次性读取整个文件要一次性读取完整个文件,有两种方式:# 指定超出文件大小的字符数量read -N 1000000 data <a.txtecho "$data"# 指定文件中不存在的字符作为分隔符read -d "_" data <a.txtecho "$data"< li="" style="margin: 0px; padding: 0px; box-sizing: border-box; list-style: none;"></a.txtecho "$data"# 指定文件中不存在的字符作为分隔符read -d "_" data <a.txtecho "$data"<>
- 按字节数量读取:一次读取执行数量的字节数据,直到把文件读完
標簽:
- Linux读取文件的几种方式