2015-09-30 75 views
-1

我在Mac上使用以下UNIX命令分离出列在文件中:相应的Windows cmd命令

cut -d ' ' -f 3,4,5,10,11,12 < testFile.txt 

文件样本:

unzip trace file: 
Archive: /Logs/1.trace/instrument_data/2DFBB7CF-2B32-41D6-9FA6-73CF813DFC24/run_data/1.run.zip 
    inflating: Logs/2.trace/instrument_data/2DFBB7CF-2B32-41D6-9FA6-73CF813DFC24/run_data/1.run 


Run 1, starting at 2015/08/06 16:46:35:185, running until 2015/08/06 16:53:30:445 
Sample 0: CPU Usage: 2.56% Memory Usage: 5608.00 KiB Timestamp: 2015/08/06 16:46:35:955 
Sample 1: CPU Usage: 1.21% Memory Usage: 5576.00 KiB Timestamp: 2015/08/06 16:46:37:143 
Sample 2: CPU Usage: 2.46% Memory Usage: 5560.00 KiB Timestamp: 2015/08/06 16:46:38:323 
Sample 3: CPU Usage: 2.49% Memory Usage: 5560.00 KiB Timestamp: 2015/08/06 16:46:39:502 
Sample 4: CPU Usage: 2.51% Memory Usage: 5560.00 KiB Timestamp: 2015/08/06 16:46:40:674 
Sample 5: CPU Usage: 2.56% Memory Usage: 5560.00 KiB Timestamp: 2015/08/06 16:46:41:832 
Sample 6: CPU Usage: 2.21% Memory Usage: 5560.00 KiB Timestamp: 2015/08/06 16:46:43:009 
Sample 7: CPU Usage: 1.92% Memory Usage: 5560.00 KiB Timestamp: 2015/08/06 16:46:44:202 
Sample 8: CPU Usage: 2.83% Memory Usage: 5572.00 KiB Timestamp: 2015/08/06 16:46:45:408 

而且下面的数据是垃圾,我,所以我也需要删除它

unzip trace file: 
    Archive: /Logs/1.trace/instrument_data/2DFBB7CF-2B32-41D6-9FA6-73CF813DFC24/run_data/1.run.zip 
     inflating: Logs/2.trace/instrument_data/2DFBB7CF-2B32-41D6-9FA6-73CF813DFC24/run_data/1.run 

什么是将相应的Windows CMD命令来实现这一目标?

回答

1

在纯命令行语法

(for /f "tokens=3-5,10-12" %a in (testfile.txt) do @echo %a %b %c %d %e %f)|find "CPU" 

for /f命令读取输入文件和readed使用空格和制表符分隔符所指示的标记被分裂的每一行中,每个令牌存储在一个单独的可替换参数与指示的起始可替换参数(前面的代码中的%a)按字母顺序相连。对每条输入行执行do子句之后的代码。该命令的完整输出用find进行过滤,仅显示所需的行。

发布的代码被写入从命令行执行。在批处理文件中,百分号需要将其加倍,因此,%a应该是%%a,%b应该是%%b,...