可能不熟悉shell的人看到这个会有点懵,其实这是shell中while read line的一种用法: read通过输入重定向,把file的第一行所有的内容赋值给变量line,循环体内的命令一般包含对变量line的处理;然后循环处理file的第二行、第三行。。。一直到file的最后一行。 还记得while根据其后的命令退出状态来判断是否执行循环体吗?
while read line do … done < file read通过输入重定向,把file的第一行所有的内容赋值给变量line,循环体内的命令一般包含对变量line的处理;然后循环处理file的第二行、第三行。。。一直到file的最后一行。还记得while根据其后的命令退出状态来判断
当文件中有多行文字,在while循环中再一次调用read语句,就会读取到下一条记录。而$line中的最后一行已经读完,无法获取下一行记录,从而退出 while循环。 若使用while循环,想每次读取其中1行内容到变量$line,则可以使用以下方法: #!/system/bin/shbusyboxcat/data/data/1.txt |whileread LINEdoadb shell gsr-m -...
一、三种方法 1.exec读取文件 exec <file sum=0 while read line do cmd done 2. cat读取文件 cat file|while read line...do cmd done 推荐用途: 通过awk等三剑客获取文件中的数据后,可以使用这种方法用管道抛给while...
使用read 命令 如果你想在脚本中处理文件并保留最后一行,可以使用 read 命令逐行读取文件,并在循环结束后打印最后一行。 代码语言:txt 复制 #!/bin/bash last_line="" while IFS= read -r line; do last_line="$line" done < filename.txt echo "$last_line" 应用场景 日志分析:在分析日志文件时,经常只...
其实这是shell中while read line的一种用法:read通过输入重定向,把file的第一行所有的内容赋值给变量...
现在我们再来看 while read line do … done < file read通过输入重定向,把file的第一行所有的内容赋值给变量line,循环体内的命令一般包含对变量line的处理;然后循环处理file的第二行、第三行。。。一直到file的最后一行。还记得while根据其后的命令退出状态来判断是否执行循环体吗?是的,read命令也有退出状态,当它...
|| exit 1 # echo $list1 | tr ' ' '\n' > $tmpfile1 # echo $list2 | tr ' ' '\n' > $tmpfile2 # # paste是把两个列文件合并成一个 # paste $tmpfile1 $tmpfile2 # rm --force $tmpfile1 $tmpfile2 paste <(seq 1 5) <(seq 129 133) | while read host ip; do echo "...
while read line是一次性将一行的文件信息读入并赋值给变量line。当文件中有多行文字,在while循环中再一次调用read语句,就会读取到下一条记录。而$line中的最后一行读完,无法获取下一行记录,从而退出while循环。 for是每次读取文件中一个以空格为分隔符的字符串。©...