迭代文件并将行作为位置参数发送到另一个文件

geo*_*ing 3 bash shell-script

我想迭代包含以下格式的日期(名为dates.txt)的文件:

2009 08 03 08 09
2009 08 03 09 10
2009 08 03 10 11
2009 08 03 11 12
2009 08 03 12 13
2009 08 03 13 14
Run Code Online (Sandbox Code Playgroud)

并将每行的每个字段作为位置参数传递给另一个脚本。

即:另一个脚本是通过在命令行中输入以下内容来执行的:

$ . the_script 2009 08 03 08 09
Run Code Online (Sandbox Code Playgroud)

我努力了for i in $(./dates.txt);do echo ${i};done

但得到:

./dates: line 1: 2009: command not found
./dates: line 2: 2009: command not found
./dates: line 3: 2009: command not found
./dates: line 4: 2009: command not found
./dates: line 5: 2009: command not found
./dates: line 6: 2009: command not found
Run Code Online (Sandbox Code Playgroud)

从这里我可以看出它正在通过每条线工作,但也许在每个领域都挂断了?

由于上述原因,我还无法弄清楚如何将读取行作为位置参数传递给其他脚本。也不知道在哪里工作?请帮助!

Mir*_*anc 5

也许你的意思是这样的?

while read -d $'\n' i; do echo $i;done <./dates

while read -d $'\n' i; do . the_script $i;done <./dates
Run Code Online (Sandbox Code Playgroud)