【问题标题】:Windows command for cutting columns from a text用于从文本中剪切列的 Windows 命令
【发布时间】:2011-05-25 10:02:06
【问题描述】:

以下内容存储在一个文件中:

chrome.exe                   512 Console                 0     73,780 K
chrome.exe                   800 Console                 0     11,052 K
chrome.exe                  1488 Console                 0     92,720 K
chrome.exe                  1600 Console                 0     32,344 K
chrome.exe                  2240 Console                 0     35,132 K
chrome.exe                  2360 Console                 0     21,276 K
chrome.exe                  3524 Console                 0     66,732 K
chrome.exe                  3924 Console                 0     23,524 K

有没有办法用 Windows 命令行提取第 5 列?

类似于 UNIX 的 cut 命令。

【问题讨论】:

    标签: windows command-line data-manipulation cut


    【解决方案1】:

    在变量中使用双精度 %

    for /f "tokens=5 delims= " %%i in (file.txt) DO echo %%i
    

    【讨论】:

      【解决方案2】:

      如果您熟悉 GNU cut 实用程序,最好使用 Win32 端口:

      http://gnuwin32.sourceforge.net/packages/coreutils.htm

      【讨论】:

      • 同样,我发现使用Cmder 很容易使用,它已经安装了许多unix 命令。
      【解决方案3】:
      @ECHO OFF
      
      for /F "tokens=2-4" %%a in (%1) DO ( echo %%a %%b %%c )
      

      我花了很长时间才发现 %%a %%b %%c .... [%%z] 指的是文本文件中的后续列。 所以这个例子将从文本文件 (%1) 中提取第二、第三和第四列(单词)。

      【讨论】:

        【解决方案4】:

        您也可以使用 mobaxterm (https://mobaxterm.mobatek.net/) 一个 ssh 客户端,并打开一个本地终端。它包含 unix 命令,如 cut、grap、wc 等

        【讨论】:

          【解决方案5】:

          如果你安装了 perl:

          perl.exe -na  -e "print qq{$F[4]\n}" < myfile.txt
          

          【讨论】:

          • 如果你有...没有帮助。我确信海报可以用任何语言编写代码来做到这一点,但这不是被问到的问题。
          猜你喜欢
          • 1970-01-01
          • 2021-06-15
          • 1970-01-01
          • 1970-01-01
          • 2020-02-16
          • 1970-01-01
          • 1970-01-01
          • 2020-09-14
          • 1970-01-01
          相关资源
          最近更新 更多