我想把下面的脚本从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输出的变量:-(
发布于 2009-02-11 16:20:41
ok问题已修复
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这段代码基本上完成了我想要做的事情。
你太棒了,谢谢!
发布于 2009-02-11 16:06:25
如果需要递归该命令的输出,可以使用for /f。类似于:
for /f "usebackq" %%L in (`awk '/GPSID/ {print $3}' gora.RTK`) do (
awk 'BEGIN {printf "Numer seryjny : " %%L,$1}' >> out.txt
)发布于 2009-02-11 15:56:22
不如..。
对于('echo Hello World')中的/f "tokens=*“%%a,请设置var=%%a
注意:在命令行上尝试时,请使用%a而不是%%a,否则如果在批处理文件中使用,请将其保留为%%a。
其中'echo Hello World‘是您想要捕获其输出的命令,"var“是将存储输出的变量的名称。
https://stackoverflow.com/questions/537404
复制相似问题