我有一个要求,我需要将n行UNIX文件存储到n个变量中。文件的数量可能会有所不同,所以我需要使用循环。
例如:文件abc.txt
table1
table2
table3
现在我需要将它们存储在变量Var1,Var2
和Var3
中(此处行数不固定且可以更改)。
有人可以帮帮我吗?
答案 0 :(得分:0)
我还没有对它进行测试,但它应该可行
IFS='\n' read -r -a data <<< "$line"
以上命令的作用是,将IFS变量设置为换行符并进行$line
的拆分。现在,对于您的案例,$line
应该包含整个文件,您可以使用$ {data [0]},$ {data 1} ...
有关IFS的更多信息,您可以click here
默认情况下,IFS设置为&#39; \ n&#39;。如果您想根据其他字符like comma(,)
进行拆分,请相应更改变量
答案 1 :(得分:0)
将它保存在变量中的目的是什么,您可以在从文件本身逐行读取时执行逻辑吗?如果你想根据字符串的出现执行某些逻辑,你可以遵循一些其他代码而不是将它们分配给不同的变量/数组并再次迭代它们。