shell按行读取文件的3种方法_linux shell

方法有很多,下面写出三种方法:
写法一:

复制代码 代码如下:

#!/bin/bash
while read line
do
echo $line
done < filename(待读取的文件)

写法二:

复制代码 代码如下:

#!/bin/bash
cat filename(待读取的文件) | while read line
do
echo $line
done

写法三:

复制代码 代码如下:

for line in `cat filename(待读取的文件)`
do
echo $line
done

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

复制代码 代码如下:

$ cat file
1111
2222
3333 4444 555

$ cat file | while read line; do echo $line; done
1111
2222
3333 4444 555

$ for line in $(<file); do echo $line; done
1111
2222
3333
4444
555

时间: 2024-10-06 18:03:27

shell按行读取文件的3种方法_linux shell的相关文章

Shell逐行读取文件的4种方法_linux shell

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

Shell脚本中调用、引用、包含另外一个脚本文件的两种方法_linux shell

脚本 first (测试示例1) 复制代码 代码如下: #!/bin/bash echo 'your are in first file'  问)在当前脚本文件中调用另外一个脚本文件? 方法一: 使用 source 脚本 second (测试示例2) 复制代码 代码如下: #!/bin/bash echo 'your are in second file' source first 方法二: 使用 . 脚本 second (测试示例3) 复制代码 代码如下: #!/bin/bash echo '

linux删除大量文件的6种方法_linux shell

首先建立50万个文件 复制代码 代码如下: test  for i in $(seq 1 500000)for> dofor> echo test >>$i.txtfor> done 1 rm 复制代码 代码如下: test  time rm -f *zsh: sure you want to delete all the files in /home/hungerr/test [yn]? yzsh: argument list too long: rmrm -f *  3.

Shell中调用、引用、包含另一个脚本文件的三种方法_linux shell

脚本 first (测试示例1) first#!/bin/bashecho 'your are in first file' 方法一:使用source #!/bin/bashecho 'your are in second file'source first 方法二:使用. #!/bin/bashecho 'your are in second file'. first 方法三:使用sh#!/bin/bashecho 'your are in second file'sh  first

Shell脚本之无限循环的两种方法_linux shell

for 实现: 复制代码 代码如下: #!/bin/bash set i=0 set j=0 for((i=0;i<10;)) do         let "j=j+1"         echo "-------------j is $j -------------------" done while实现: 复制代码 代码如下: #!/bin/bash set j=2 while true do         let "j=j+1"

PHP中读取文件的8种方法和代码实例_php实例

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

Shell脚本统计文件行数的8种方法_linux shell

获取单个文件行数 文件:test1.sh 行数:20 方法一 复制代码 代码如下: awk '{print NR}' test1.sh|tail -n1 如图所示: 方法二 复制代码 代码如下: awk 'END{print NR}' test1.sh 如图所示: 方法三 复制代码 代码如下: grep -n "" test1.sh|awk -F: '{print '}|tail -n1 如图所示: 方法四 复制代码 代码如下: sed -n '$=' test1.sh 如图所示: 方

Shell脚本逐行读取文本文件(不改变文本格式)_linux shell

网上有很多 shell script 读文本文件的例子,但是都没有讲出故事的全部,只说了一半.举个例子,比如从一个 testfile 文件中读取如下格式的文本行: 复制代码 代码如下: $ vi testfile ls      -a -l /bin |  sort ls      -a -l /bin |  sort | wc ls      -a -l |  grep sh | wc ls      -a -l ls      -a -l |       sort      |    wc

Shell脚本中执行sql语句操作mysql的5种方法_linux shell

对于自动化运维,诸如备份恢复之类的,DBA经常需要将SQL语句封装到shell脚本.本文描述了在Linux环境下mysql数据库中,shell脚本下调用sql语句的几种方法,供大家参考.对于脚本输出的结果美化,需要进一步完善和调整.以下为具体的示例及其方法. 1.将SQL语句直接嵌入到shell脚本文件中 复制代码 代码如下: --演示环境  [root@SZDB ~]# more /etc/issue  CentOS release 5.9 (Final)  Kernel \r on an \