小编Séb*_*ent的帖子

如何使用 eval 将包含空格的值分配给 bash 中的变量

我想使用eval. 以下虚拟示例有效:

var_name="fruit"
var_value="orange"
eval $(echo $var_name=$var_value)
echo $fruit
orange
Run Code Online (Sandbox Code Playgroud)

但是,当变量值包含空格时eval,即使$var_value放在双引号之间,也会返回错误:

var_name="fruit"
var_value="blue orange"
eval $(echo $var_name="$var_value")
bash: orange : command not found
Run Code Online (Sandbox Code Playgroud)

有什么办法可以绕过这个吗?

shell bash quoting

22
推荐指数
2
解决办法
2万
查看次数

如何将字段 1 拆分为不同的行,但为创建的每个新行保留字段 2

输入:

注意:2 列由制表符分隔,常规空格分隔第 2 列中的单词。

1   the mouse is dead
2   hit the wall
3   winter lasts forever
Run Code Online (Sandbox Code Playgroud)

想要的输出:

1   the
1   mouse
1   is
1   dead
2   hit
2   the
2   wall
3   winter
3   lasts
3   forever
Run Code Online (Sandbox Code Playgroud)

这是awk要走的路吗?

awk text-processing columns

8
推荐指数
2
解决办法
644
查看次数

标签 统计

awk ×1

bash ×1

columns ×1

quoting ×1

shell ×1

text-processing ×1