从unix文件中读取n行并将每行存储在变量中

时间:2016-06-27 06:41:20

标签: shell unix

我有一个要求,我需要将n行UNIX文件存储到n个变量中。文件的数量可能会有所不同,所以我需要使用循环。 例如:文件abc.txt

table1
table2
table3

现在我需要将它们存储在变量Var1,Var2Var3中(此处行数不固定且可以更改)。

有人可以帮帮我吗?

2 个答案:

答案 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)

将它保存在变量中的目的是什么,您可以在从文件本身逐行读取时执行逻辑吗?如果你想根据字符串的出现执行某些逻辑,你可以遵循一些其他代码而不是将它们分配给不同的变量/数组并再次迭代它们。