读一行并将每个单词作为参数传递

时间:2016-12-08 09:10:42

标签: bash shell

我的文件如下

ABC  v1.2.3 

PQRS v4.5 

XYZ v2.0

我想读取整行并将它们分成单独的字符串并将其作为参数传递给另一个脚本。如何使用bash shell脚本实现此目的。

预期产出:

bash test.sh ABC v1.2.3

3 个答案:

答案 0 :(得分:2)

您也可以使用xargs命令行执行此操作:

<params xargs -l test.sh

使用test.sh之类的:

echo $0
echo $1
echo $2

输出结果为:

./test.sh
ABC
v1.2.3
./test.sh
PQRS
v4.5
./test.sh
XYZ
v2.0

还有一位在线测试人员:Tutorials point

答案 1 :(得分:2)

首先将每一行读入数组。

while read -r -a args; do
    bash test.sh "${args[@]}"
done < args.txt

答案 2 :(得分:1)

你有没有尝试过 -

while read -r line ; do test.sh $line ; done < file

while循环逐行读取文件(最后用< file表示)。

然后只需要根据需要使用$line中存储的行。在您的情况下,作为test.sh的参数。