www.3112.net > linux shEll 如何使用whilE rEAD linE去获取一个文...

linux shEll 如何使用whilE rEAD linE去获取一个文...

1、while使用重定向机制,ip.txt文件中的信息都已经读入并重定向给了整个while语句。所以当我们在while循环中再一次调用read语句,就会读取到下一条记录。问题就出在这里,ssh语句正好回读取输入中的所有东西。为了禁止ssh读所有东西增加一个< /...

#! /usr/bin/bash filename="test.txt" len=0 max=0 maxline="" while read line do l=`echo $line | cut -d";" -f1` ll=`expr length "$l"` echo "$l $ll" if [[ $ll -gt $max ]] then max="$ll" maxline="$l" fi done < $filename echo "max l...

while read line do echo $line done

因为使用了管道的原因,改成下面这样就可以了 a=0 while read line do a=$(($a+1)) echo "inter:"$a done < b.sh echo "outer:"$a

1、while使用重定向机制,ip.txt文件中的信息都已经读入并重定向给了整个while语句。所以当我们在while循环中再一次调用read语句,就会读取到下一条记录。问题就出在这里,ssh语句正好回读取输入中的所有东西。为了禁止ssh读所有东西增加一个< /...

1、最后一行没有换行符,while read不知道要读区,结尾加个空行就可以了 2、或者在cat test.txt | while read i后面加个“;”

因为你前面使用了管道把数据传给 while,管道会启动一个“子进程”,while是在子进程中执行的,子进程中的变量是不会返回到父进程中的,所以你 while 结束后再看 arr 是空的,因为 while 里的 arr 是子进程的变量。改成如下就可以了: i=0while re...

while read linedo # 处理 $line 即每行文本done

可以通过sed命令,将空行和注释行删除掉。 1、以下面的文档内容为例,#号开头的是注释,然后有很多空行,文档名为1.tt。 2、执行如下命令 sed '/^#.*\|^$/d' 1.tt说明:^#.*说明以#字符开头的行,^$表示手空行,中间的\|是转义,表示或。d表示删...

第三行 echo $line 改成 echo "$line" 就能保留住 tab 除非循环中有 awk 不能实现的,要不这样写就行了: awk -F'\t' '{print $2}' file

网站地图

All rights reserved Powered by www.3112.net

copyright ©right 2010-2021。
www.3112.net内容来自网络,如有侵犯请联系客服。zhit325@qq.com