while read读取文本内容


读取文件给 while 循环
方式一:

exec <FILE 
while read line 
do 
    cmd 
done 

方式二:

cat FILE_PATH |while read line 
do 
    cmd 
done 

方式三:

while read line 
do 
    cmd 
done <FILE

 

举例:

ip.txt内容如下:

10.1.1.11 root 123
10.1.1.22 root 111
10.1.1.33 root 123456
10.1.1.44 root 54321

 

写法1:

cat ip.txt | while read ip user pass
do
    echo "$ip--$user--$pass"
done

 

写法2:

while read ip user pass
do
    echo "$ip--$user--$pass"
done < ip.txt

 

使用IFS作为分隔符读文件

说明:默认情况下IFS是空格,如果需要使用其它的需要重新赋值

IFS=:

例如:

# cat test
chen:222:gogo
jie:333:hehe
# cat test.sh
#!/bin/bash
IFS=:
cat test | while read a1 a2 a3
do
    echo "$a1--$a2--$a3"
done

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM