Windows默认没有awk命令,下面通过for在windows下实现类似awk功能
例如需要获取ftp或者http下文件列表
完整的获取命令如下
C:Usersliuym>curl ftp://172.16.90.13/ [0x7FFC8CEDD370] ANOMALY: meaningless REX prefix used -rw-r--r-- 1 0 0 50070974 May 29 03:12 magic-box-20200529.zip -rw-r--r-- 1 0 0 43617957 Jun 30 07:32 magic-box-20200630.zip -rw-r--r-- 1 0 0 43617817 Jul 03 06:59 magic-box-20200703.zip -rw-r--r-- 1 0 0 43634705 Jul 06 08:21 magic-box-20200706.zip
需要获取文件列表
for /f "skip=1 tokens=9 delims= " %a in ('curl ftp://172.16.90.13/') do @echo %a
命令解析
for /f "skip=1 tokens=9 delims= " %a in ('curl ftp://172.16.90.13/') do @echo %a skip=1 #忽略第一行,默认显示所有行 tokens=9 #显示第9列 类似于awk的 参数$9 delims= #分隔符 本次分隔符为一个空格 curl ftp://172.16.90.13/ #循环该命令所有行
输出如下
C:Usersliuym>for /f "skip=1 tokens=9 delims= " %a in ('curl ftp://172.16.90.13/') do @echo %a % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 320 0 320 0 0 320 0 --:--:-- --:--:-- --:--:-- 5161 magic-box-20200630.zip magic-box-20200703.zip magic-box-20200706.zip