在Linux中读取文件

在Linux中读取文件,linux,file-io,read-write,Linux,File Io,Read Write,我必须从文件中读取数据并为变量赋值。然后我必须将它们保存在另一个文件中。我知道如何做第二和第三部分,但我不知道如何读取文件 示例文件如下所示。我如何吃掉不需要的东西,如点、换行符和存储值,比如a=21、b=8等等 (请注意21后面没有空行。假设它是21\nB 8,依此类推) 您可以检查变量是否为空。大概是这样的: while read -r var val; do [[ ! -z $var && ! -z $val ]] && echo "$var=$v

我必须从文件中读取数据并为变量赋值。然后我必须将它们保存在另一个文件中。我知道如何做第二和第三部分,但我不知道如何读取文件

示例文件如下所示。我如何吃掉不需要的东西,如点、换行符和存储值,比如a=21、b=8等等

(请注意21后面没有空行。假设它是21\nB 8,依此类推)


您可以检查变量是否为空。大概是这样的:

while read -r var val; do 
    [[ ! -z $var && ! -z $val ]] && echo "$var=$val"
done < file
读取时-r var val;做
[!-z$var&&!-z$val]]&&echo“$var=$val”
完成<文件
测试:
$cat文件
要点:
A 21
B 8
C2
D 13
E24
$while read-r var val;执行[[!-z$var&!-z$val]]&&echo“$var=$val”;完成<文件
A=21
B=8
C=2
D=13
E=24

要在评论中回答您的问题

$ . <(while read -r var val; do [[ ! -z $var && ! -z $val ]] && echo "$var=$val"; done < file)
$ echo $A
21
$ echo $B
8

$ 也许我在思考这个问题,但这不就行了吗

sed 's/ / = /' file > newfile

Hey look-up
sed
它将具有您要查找的功能,因此您将输入文件保存为文件,没有extension@user1598734Linux通常不使用文件扩展名。一些在其上运行的应用程序确实需要扩展名与文件名一起出现,但这只是应用程序的限制,而不是OSI实际上并不意味着保存a=21和b=8。我想要有变量a,b,c并给它们赋值。不保存在文件中。对不起,如果我应该正确地告诉你。@user1598734没问题。我已经更新了解决方案来回答这个问题。祝你好运我得到以下错误代码。sh:第1行:对条件一元运算符代码的意外参数
&'。sh:第1行:靠近
&'code.sh:1行:`(而read-r var val;do[!-z&&!-z]&&echo=;done$ . <(while read -r var val; do [[ ! -z $var && ! -z $val ]] && echo "$var=$val"; done < file) $ echo $A 21 $ echo $B 8
sed 's/ / = /' file > newfile