我需要从以下格式给出的文件中读取输入。
$ ./process_data.sh arg1 < input_data.txt
如何读取input_data
我的 shell 脚本process_data.sh
?
答案1
在这种用法中,有几种方法可以读取它: while 构造(将输出参数和文件 input_data.txt 的每个字符串)
#!/bin/bash
echo $1
while read STRING
do
echo $STRING
done
awk(将输出参数以及文件输入数据的第二列和第三列)
#!/bin/bash
echo $1
awk '{print $2" "$3}'
等等。您可以使用 sed、cut 和许多其他 unix 实用程序,如示例中所示。实用程序的选择取决于您需要如何转换输入数据。当然,您可以根据需要更改示例。
祝你好运=)
答案2
在您的 process_data.sh 中您可以编写以下代码
while read line
do
#work on data
done < `cat input_data.txt`