Shell逐行读取文件的3种方法

方法1:while循环中执行效率最高,最常用的方法。

while read line
do
echo $line
done  < filename

注释:这种方式在结束的时候需要执行文件,就好像是执行完的时候再把文件读进去一样。

方法2 : 管道法: cat $FILENAME | while read LINE

cat filename | while read line
do
echo $line
done

注释:当遇见管道的时候管道左边的命令的输出会作为管道右边命令的输入然后被输入出来。

方法3    for  循环。

for  line  in  `cat filename`
do
echo ${line}
done

注释:这种方式是通过for循环的方式来读取文件的内容相比大家很熟悉了,这里不多说。

在各个方法中,for语句效率最高,而在while循环中读写文件时,第一种方式执行效率最高。

for逐行读和while逐行读是有区别的,如:

$ cat t.txt
1111
2222
3333 4444 555

$ cat t.txt | while read line; do echo ${line}; done
1111
2222
3333 4444 555

$ for line in `cat t.txt`; do echo ${line}; done
1111
2222
3333
4444
555

时间: 2024-12-12 11:15:48

Shell逐行读取文件的3种方法的相关文章

python 逐行读取文件的几种方法

Python四种逐行读取文件内容的方法 下面四种Python逐行读取文件内容的方法, 分析了各种方法的优缺点及应用场景,以下代码在python3中测试通过, python2中运行部分代码已注释,稍加修改即可. 方法一:readline函数 # -*- coding: UTF-8 -*- f = open("/pythontab/code.txt") # 返回一个文件对象 line = f.readline() # 调用文件的 readline()方法 while line: # pri

python 逐行读取文件的三种方法

方法一: 复制代码代码如下: f = open("foo.txt")             # 返回一个文件对象  line = f.readline()             # 调用文件的 readline()方法  while line:      print line,                 # 后面跟 ',' 将忽略换行符      # print(line, end = '') # 在 Python 3中使用      line = f.readline()

Linux shell逐行读取文件的方法

Linux shell逐行读取文件的方法 在Linux中有很多方法逐行读取一个文件的方法,其中最常用的就是下面的脚本里的方法,而且是效率最高,使用最多的方法.为了给大家一个直观的感受,我们将通过生成一个大的文件的方式来检验各种方法的执行效率. 方法1:while循环中执行效率最高,最常用的方法. function while_read_LINE_bottm(){ While read LINE doecho $LINEdone  < $FILENAME}         注释:我习惯把这种方式叫

PHP 读取文件的几种方法

整理了一下PHP中读取文件的几个方法,方便以后查阅. 1.fread string fread ( int $handle , int $length ) fread() 从 handle 指向的文件中读取最多 length 个字节.该函数在读取完最多 length 个字节数,或到达 EOF 的时候,或(对于网络流)当一个包可用时,或(在打开用户空间流之后)已读取了 8192 个字节时就会停止读取文件,视乎先碰到哪种情况. fread() 返回所读取的字符串,如果出错返回 FALSE. <?ph

shell逐行读取文件

这是shell逐行执行文件: #!/bin/sh filepath="/home/test/test.txt"while read LINEdo     user=`echo $LINE | awk '{print $1}'`     pwd=`echo $LINE | awk '{print $2}'`done <$filepath

Shell按行读取文件的3种方法

Shell按行读取文件的方法有很多,下面写出三种方法: 写法一: #!/bin/bash #描述: # while循环读行操作 #作者:孤舟点点 #版本:1.0 #创建时间:2017-11-09 04:08:52 PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin export PATH while read line do echo $line done < filename(待读取的文件) 写法二:

linux shell 逐行读取文件行

读取文件行 for 命令替换 代码块重定向 while 管道符 代码块重定向 for IFS=$'\n' for line in `ls -l` do (( count++ )) done echo $count 注意: for读取时,自动按空格作为间隔符.因此需要将IFS定义为按换行符分隔 ls -l > forout.log maxlength=$(wc -l < forout.log) for i in `seq $maxlength` do (( count++ )) done <

Java 读取文件的几种方法

1.按字节读取文件内容2.按字符读取文件内容3.按行读取文件内容 4.随机读取文件内容 5.将内容追加到文件尾部 /*** 以字节为单位读取文件,常用于读二进制文件,如图片.声音.影像等文件.*/ public class ReadFromFile { public static void readFileByBytes(String fileName) { File file = new File(fileName); InputStream in = null; try { System.o

Java逐行读取文件有多少种方法?

如果每个线程使用的变量都是其它线程不会读取或修改的,那么就不存在一致性问题.同样,如果变量是只读的,多个线程同时读取该变量也不会有一致性问题.否则,将会出现不一致性问题.为了解决数据不一致问题,必须引入某些机制使线程间同步. 当变量修改时间多于一个存储器访问周期,同时读.写操作又相互交替时,潜在的不一致性就会出现.如下图所示: 此时,线程B读取到的数据是错误的.使用一把锁能够解决上述问题: 下面介绍线程的三种同步机制: 1.互斥量pthread_mutex_t 互斥量就是锁,对某段临界区进行加锁