相当于批处理脚本中的AWK

Sre*_*ree 2 awk batch-file find

我想要一个与此AWK脚本等效的批处理脚本:

awk '{print $3}'
Run Code Online (Sandbox Code Playgroud)

文件具有以下内容:

XXX YYY : 8
Rrr rrr : 7
ddd rrr : 9
Run Code Online (Sandbox Code Playgroud)

我想获取要打印的批处理脚本

8, 7, 9
Run Code Online (Sandbox Code Playgroud)

有什么方法可以将每个值分配给循环并重定向到if条件?

j.w*_*w.r 5

我不知道您要的是Windows Batch脚本还是awk脚本,因此两者都是:

test.txt:

XXX YYY : 8
Rrr rrr : 7
ddd rrr : 9
Run Code Online (Sandbox Code Playgroud)

AWK

awk 'NR > 1 {printf ", "}{printf $4}END{printf "\n"}' test.txt
Run Code Online (Sandbox Code Playgroud)

输出:

8, 7, 9
Run Code Online (Sandbox Code Playgroud)

Windows批处理脚本

@echo off
SET _c=
FOR /F "tokens=4 delims= " %%G IN (test.txt) DO (
    IF DEFINED _c <nul set /p z=", "
    <nul set /p z=%%G
    SET _c=1
)
Run Code Online (Sandbox Code Playgroud)

输出:

8, 7, 9
Run Code Online (Sandbox Code Playgroud)

  • `&lt;nul set / p var =“ text”`只是一种将“文本”打印到屏幕而无需回车和换行符的技巧。 (2认同)