while循环:会将每行的内容读入到line变量,当while出现空行,用if判断字符=0, contiun
for循环高斗纳: 将读入的内容以IFS(shell中的环境变量,Internal Field Seperator,字段分隔符)为界分隔, 然后将各个分销枣隔开的内容,逐一读入变量line。本质上说,for循环读取的是字段,只不过可以设置IFS为\n这样能够逐行读取。
如果希望for处理文件按回车分隔,则需重新定义分隔符 IFS:内部字段分隔符 IFS=$'\n'
示例戚没1
示例2
很高兴回答你的问题慧团毕,while 语句其实是逐行读取文件。不知道你逐个读取文件想做什么前芹 *** 作。
提供给你一个参考,看看能否解决你的问题。
ls > file.list # 将你想要读取的文件以每个一行的格式输入到 file.list 文件中进行 while 的读或行取
#!/bin/shwhile read line
do
sed -i 's/test/newtest/g' $line
# 执行满足 test 的内容替换为 newtest,将扫描所有 file.list 中的文件
# 不知道你逐个读取文件是要做什么 *** 作,cat? 可以写成 cat $line
done < file.list
希望对你有所帮助
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)