我有一个文本文件,每行包含一个单词。
我需要在bash中循环读取每一行,然后每次读取一行时执行一个命令,使用该行的输入作为命令的一部分。
我只是不确定在bash中执行此操作的正确语法。如果有人可以提供帮助,那就太好了。我需要使用作为参数获得的测试文件中的行来调用另一个函数。当文本文件中没有更多行时,循环应该停止。
Psuedo代码:
Read testfile.txt.
For each in testfile.txt
{
some_function linefromtestfile
}
答案 0 :(得分:7)
怎么样:
while read line
do
echo $line
// or some_function "$line"
done < testfile.txt
答案 1 :(得分:0)
作为替代方案,使用文件描述符(在这种情况下为#4):
file='testfile.txt'
exec 4<$file
while read -u4 t ; do
echo $t
done
不要使用cat
!循环cat
几乎总是错误的,即
cat testfile.txt | while read line
do
# do something with $line here
done
人们可能会开始向你投掷UUoCA。
答案 2 :(得分:0)
while read line
do
nikto -Tuning x 1 6 -h $line -Format html -o NiktoSubdomainScans.html
done < testfile.txt
尝试此操作以从cat方法更改后自动对域列表进行nikto扫描。仍然只是阅读第一行而忽略了其他所有内容。