dkfr.net
当前位置:首页 >> linux shEll rEADlinE >>

linux shEll rEADlinE

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

你这不就是把目录A目录下的内容复制到B目录下的问题吗?有必要那么复杂? cp -r /app/tlinx2/openapi/* /app/update/openapi/

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

思路: $ sed -n '8,13{N;s/\n/:/;p}' /home/ping.txt Code Server:192.168.1.10Counter Server:192.168.1.11Mysql Server:192.168.1.12然后,与你的思路类似,ping的时候切后半段,echo的时候切前半段,以冒号为分隔符。

#! /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,管道会启动一个“子进程”,while是在子进程中执行的,子进程中的变量是不会返回到父进程中的,所以你 while 结束后再看 arr 是空的,因为 while 里的 arr 是子进程的变量。改成如下就可以了: i=0while re...

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

while read line do echo $line done

使用cat的话可以这样: cat 123.txt | while read line do echo "$line" done 123.txt的每行读取到变量line中并输出。

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

网站首页 | 网站地图
All rights reserved Powered by www.dkfr.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com