0

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

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

(请注意 A 21 后面没有空行,假设为 A 21\nB 8 以此类推)

Points:

A 21 
B 8
C 2
D 13
E 24
4

2 回答 2

0

您可以检查变量是否为空。像这样的东西:

while read -r var val; do 
    [[ ! -z $var && ! -z $val ]] && echo "$var=$val"
done < file

测试:

$ cat file
Points:

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
A=21
B=8
C=2
D=13
E=24

要在评论中回答您的问题……</p>

$ . <(while read -r var val; do [[ ! -z $var && ! -z $val ]] && echo "$var=$val"; done < file)
$ echo $A
21
$ echo $B
8
于 2013-06-13T02:30:42.493 回答
0

也许我没有考虑到这一点,但这不是工作吗?

sed 's/ / = /' file > newfile
于 2013-06-13T02:54:27.080 回答