簡體   English   中英

根據文本文件內容中的行數運行循環的次數(Unix Shell腳本)

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM