awk 附加 /32 在 MS Windows 中不起作用



我正在尝试使用 awk 将/32 附加到文件中的公共 IP

ip.txt 具有 IP 地址4.14.XX.XXX

问题出在脚本文件中的命令上

awk "{print $0 "/32"}" < ip.txt

结果 =0.129375

如果我删除/,则结果4.14.XX.XXX32

我要4.14.XX.XXX/32.

完整的蝙蝠文件

curl v4.ifconfig.co > ip.txt
awk "{ print $0 "/32" }" < ip.txt > ipnew.txt
@REM set stuff=type ipnew.txt
for /f %%i in ('type ipnew.txt') do set stuff=%%i
echo %stuff%

====

================awk -f changeipaddress.bat

错误

awk: changeipaddress.bat:1: curl v4.ifconfig.co > ip.txt
awk: changeipaddress.bat:1:        ^ syntax error
awk: changeipaddress.bat:1: curl v4.ifconfig.co > ip.txt
awk: changeipaddress.bat:1:                         ^ syntax error
awk: changeipaddress.bat:2: awk "{ print $0 "/32" }" < ip.txt > ipnew.txt
awk: changeipaddress.bat:2:                              ^ syntax error
awk: changeipaddress.bat:2: awk "{ print $0 "/32" }" < ip.txt > ipnew.txt
awk: changeipaddress.bat:2:                                          ^ syntax error
awk: changeipaddress.bat:3: @REM set stuff=type ipnew.txt
awk: changeipaddress.bat:3: ^ invalid char '@' in expression

请告诉我哪里出错了?

问候 TJ.

使用内容{ print $0 "/32" }(即awk脚本(创建一个名为foo.awk的文件,然后将bat文件的第2行从awk "{ print $0 "/32" }" < ip.txt > ipnew.txt更改为awk -f foo.awk < ip.txt > ipnew.txt。现在按照您通常的方式运行您的 bat 文件。

最新更新