ASSIGN win XP命令行输出到变量

时间:2009-02-11 15:47:22

标签: windows linux shell awk translation

我想将以下脚本从linux shell翻译成Windows XP shell

GPSID=$(awk '/GPSID/ {print $3}' gora.RTK ) 
awk -v variable=${GPSID} 'BEGIN {printf "Numer seryjny : " variable,$1}' >>out.txt

第二行已被翻译;问题是在windows中定义一个包含shell输出的变量: - (

3 个答案:

答案 0 :(得分:4)

确定问题

for /f "tokens=*" %%a in ('awk "/GPSID/ {print $3}" gora.RTK ') do set var=%%a
awk "BEGIN {printf \"GPSID : \" }" >out.txt
echo %var% >>out.txt

这段代码基本上可以做我想做的事。

非常感谢!!!!!

答案 1 :(得分:1)

如果您需要通过命令的输出进行递归,则可以使用for /f。类似的东西:

for /f "usebackq" %%L in (`awk '/GPSID/ {print $3}' gora.RTK`) do (
    awk 'BEGIN {printf "Numer seryjny : " %%L,$1}' >> out.txt
)

答案 2 :(得分:0)

怎么样......

for / f“tokens = *”%% a in('echo Hello World')设置var = %% a

注意:在命令行上尝试使用%a而不是%% a,如果在批处理文件中使用,则将其保留为%% a。

其中'echo Hello World'是要捕获其输出的命令,“var”是将存储输出的变量的名称。

相关问题