我在文本文件中有多行。 示例:我在文本文件中有3行,并且
Emp_Table_Columns.txt|Employee_Temp.csv|Emp.csv
Dep_Table_Columns.txt|Dep_Temp.csv|Dep.csv
Line_Table_Columns.txt|Line_Temp.csv|Line.csv
我想将FOR循环(或任何其他循环)运行3次,而在运行时,我想将值Field 1,Field 2,field 3传递给变量。
如果说1st Loop正在运行,那么我将阅读Emp_Table_Columns.txt。如果第二循环正在运行,我将读取Dep_Table_Columns.txt。请在Shell Script或linux中为我提供一些建议。
答案 0 :(得分:0)
您不需要for循环。您要遍历文件中的所有行。例如
while IFS=\| read col1 col2 col3 etc; do
...
done < text_file
在循环的主体中,变量$col1
,$col2
和$col3
将分别包含第1列,第2列和第3列中的值。变量$etc
将包含第4列及以后的列(如果有的话;您可能希望$etc
是空字符串)。可以根据需要命名变量,最好使用描述列内容的名称。请注意,我们将IFS
明确设置为使用|
作为列分隔符,因为read
在默认情况下会在空白处分割(取决于IFS的当前值)。