用于逐行循环读取文件



我觉得我已经多次使用'for loop'逐行读取文件并对输出进行操作。但现在无论我做什么,我都无法让它工作。我可以使用"读取时"循环让它工作。但我只是好奇为什么我的 for 循环不再工作了。我很确定我犯了一些简单的错误。但我似乎想不通它是什么。这是我正在尝试的命令的一种变体。我尝试了几种变体来更改引号,或者有时使用 和 cat,有时不这样做。但每次我都得到相同的结果。

$ for x in "cat test.sh" ; do echo $x ; done
cat test.sh
$

执行预期操作的基本方法是:

while IFS= read -r line; do echo "$line"; done < test.sh

见 http://mywiki.wooledge.org/BashFAQ/001

注意

如果使用 for 循环,则会遇到每行空格上的 shell 单词拆分问题

你可以

使用,

while read line
do
task 
done < file

for line in 'cat dbs.txt'; 
do
task
done

相关内容

  • 没有找到相关文章

最新更新