Windows批处理中的UNIX语句的等效项

时间:2014-08-21 14:00:29

标签: unix batch-file awk

批处理中该语句的等效内容是什么?

awk '/-imsi/ {print $NF "\r"}' "IMSI$r.txt" | tee -a out > "N$r"

如果变量r递增,则该语句处于循环中。 它将在文本文件中搜索-imsi并在其后取最后一个记录 字段,然后将输出保存在2个文件中,out和N r .txt的

我找不到任何替换awk命令的批处理命令。

1 个答案:

答案 0 :(得分:2)

对不起,我不懂UNIX awk功能。但是,下面的批处理命令在IMSIr.txt文件中搜索" -imsi"字符串并在它之后立即取出字符串;然后将输出保存在2个文件中,输出(包含所有输出行)和Nr.txt:

for /F "delims=" %%a in ('findstr /C:"-imsi" IMSIr.txt') do set line=%%a
for /F %%a in ("%line:*-imsi=%") do echo %%a>> out & echo %%a> Nr.txt

例如,使用此输入文件:

Previous line
Target line: -imsi 376 another values
Posterior line

输出为" 376"。

下面的修改包括一个循环,其中变量%% r递增到一定范围:

@echo off
setlocal EnableDelayedExpansion

set N=3
for /L %%r in (1,1,%N%) do (
   for /F "delims=" %%a in ('findstr /C:"-imsi" IMSI%%r.txt') do set line=%%a
   for /F %%a in ("!line:*-imsi=!") do echo %%a>> out & echo %%a> N%%r.txt
)

如果这不是您想要的,请描述所需的更改。