我有一个包含以下值的文件:
CA, PA, NY
ND, MO, MI
我需要逐个处理这些值。流程图如下:
Enter loop -> Process CA; Process PA; Process NY -> Other commands -> Process ND; Process MO; Process MI -> End;
这是否可以使用shell脚本?
答案 0 :(得分:2)
我可以想到两个显而易见的方法。如果您可以访问tr
实用程序(任何UNIX / Posix主机上的标准),那么您可以tr ',' '\n' < "$your_data_file" | while read each; do $process $each; done
如果没有,那么您可能仍然可以使用shell的IFS(场间分隔符)例如:cat "$your_data_file"| { IFS=','; while read line; do for each in $line; do echo $each; done; done; }
(请注意,您可以使用{}
分组或()
作为子shell ...在此示例中它们实际上是相同的。)
请注意,您可能在$each
中有一些无关的空格,您可能希望单独过滤掉这些空白。