[英]Running loop number of times as per number of lines in the content of the text file ( Unix Shell Scripting )
我的文本文件中有多行。 示例:我在文本文件中有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中為我提供一些建議。
您不需要for循環。 您要遍歷文件中的所有行。 例如
while IFS=\| read col1 col2 col3 etc; do
...
done < text_file
在循環的主體中,變量$col1
, $col2
和$col3
將分別包含第1列,第2列和第3列中的值。 變量$etc
將包含第4列及以后的列(如果有的話;您可能希望$etc
為空字符串)。 可以根據需要命名變量,最好使用描述列內容的名稱。 請注意,我們明確設置了IFS
以使用|
作為列分隔符,默認情況下, read
將在空白處進行分割(取決於IFS的當前值)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.