标题: [文本处理] [已解决] awk 的输出保存到变量 [打印本页]
作者: newswan 时间: 2021-4-6 10:08 标题: [已解决] awk 的输出保存到变量
本帖最后由 newswan 于 2021-4-6 22:36 编辑
批处理中使用 awk 格式化文本- echo a b | awk '{printf "%%6s %%6s\n",$1,$2}'
复制代码
awk可以输出到标准输出
但是,怎么把awk的输出保存到变量?- for /f "usebackq tokens=*" %%a in (`echo a b ^| awk '{printf "%%%%6s %%%%6s\n",$1,$2}'`) do echo %%a
复制代码
输出的是复制代码
请指教!
作者: Batcher 时间: 2021-4-6 11:32
回复 1# newswan - @echo off
- for /f "delims=" %%a in ('echo a b ^| gawk "{printf \"%%6s %%6s\n\",$1,$2}"') do (
- echo %%a
- )
- pause
复制代码
作者: smss 时间: 2021-4-6 11:41
set 不能用了吗
作者: newswan 时间: 2021-4-6 19:08
回复 2# Batcher
谢谢,delims 很关键- for /f "usebackq delims=" %%a in (`echo a b ^| awk '{printf "%%6s %%6s\n"^,$1^,$2}'`) do (echo %%a)
复制代码
我习惯用 usebackq ,` 里面使用 ' " 比较方便
作者: netdzb 时间: 2021-4-7 09:30
回复 4# newswan
这个纯shell怎么写?
作者: newswan 时间: 2021-4-8 00:22
回复 5# netdzb - str=$(echo a b | awk '{ printf "%6s %6s\n",$1,$2 }')
复制代码
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |