这是一个数值数据科学应用程序。我需要在文件中创建一个零矩阵,用逗号分隔(在一行内)并以换行符结尾(在每行的末尾)。这个 bash 代码是最接近的:
l=`python -c "print(f'{\"0, \" * 9}0')"` # 10 zeros comma separated in one line
yes $l | head -n 3 # print line 3 times
0, 0, 0, 0, 0, 0, 0, 0, 0, 0
0, 0, 0, 0, 0, 0, 0, 0, 0, 0
0, 0, 0, 0, 0, 0, 0, 0, 0, 0
就目前而言这很好,直到您尝试将两个文字 9 和 3 更改为 shell 变量。但是,(对我而言)很难正确编码以用 shell 变量 n=9 替换文字 9。我尝试使用 bash 和 python 但仍然无法正常工作。例如,这两种不同的尝试实际上对变量不起作用(对我而言):
l=$(printf '0,%.0s' {1..$((n-1))}; printf '0') # 100% bash code
yes $l | head -n $k # print line 3 times
0,0
0,0
0,0
l=`python -c "print(f'{\"0, \" * 9}0')"` # using a bit of python, 10 literal zeros comma separated in one line
yes $l | head -n 3 # print line 3 times
0, 0, 0, 0, 0, 0, 0, 0, 0, 0
0, 0, 0, 0, 0, 0, 0, 0, 0, 0
0, 0, 0, 0, 0, 0, 0, 0, 0, 0
在这种情况下,将文字 9 更改为 python 中的变量更糟糕,并且给了我一些疯狂的东西,比如某种我绝对不想要的目录列表。
慕运维8079593
GCT1015
烙印99
相关分类