将命令输出批量传递给变量

时间:2012-06-21 12:11:53

标签: batch-file sed

我想将Sed命令的输出批量传递给变量。 例如,在文件“input.txt”中,我有name=kiddy bla bla。 我想提取单词kiddy并将其保存在变量(例如name)中,以便稍后使用它(使用%name%)。

1 个答案:

答案 0 :(得分:1)

当然,您可以使用带有sed循环的for命令的输出设置变量:

for /f %%v in ('sed blah blah...') do (set "name=%%v")

是的,它不是那么直观,但它确实有效 此外,您可以将命令更改为您想要的任何内容,只要它们介于两者之间即可 撇号(')。

P.S
要从kiddy中提取值name="kiddy" bla bla,请使用sed语法:

sed "s/""/'/g" | sed "s/.*='\(.[^']*\)'.*/\1/"