![Windows 相当于 Linux 的“cat -n”吗?](https://linux22.com/image/1555517/Windows%20%E7%9B%B8%E5%BD%93%E4%BA%8E%20Linux%20%E7%9A%84%E2%80%9Ccat%20-n%E2%80%9D%E5%90%97%EF%BC%9F.png)
在 Linux 中,我可以使用命令轻松查看任何带有行号的文件cat -n
。
sh-4.4$ cat test
line 1
line 2
line 3
sh-4.4$
sh-4.4$ cat test -n
1 line 1
2 line 2
3 line 3
sh-4.4$
Windows 怎么样?是否有类似的命令产生类似的输出?
type
是用于查看文件内容的 Windows 命令之一。
C:\>type test.txt
line 1
line 2
line 3
C:\>
-n
但是,其中没有选项。
C:\>type /?
Displays the contents of a text file or files.
TYPE [drive:][path]filename
C:\>
这是我在 Windows 中期待的
C:\>(windows command to view and print line number) test.txt
1 line 1
2 line 2
3 line 3
C:\>
答案1
无需安装第三方工具,可以使用 Powershell 完成此操作,但脚本编写略显复杂,如下所示。此脚本的优点在于它可以与任何产生输出的 DOS 命令配合使用。
$i = 1; 猫食.txt | % {$i++;"$($i-1) `t $_"}
笔记:Powershell 有cat
命令,如脚本所示,但缺少行号。它是 PowerShell 命令的别名get-content
。
输出如下:
1 Apples
2 Bananas
3 Carrots
dir
以下是通过简单执行脚本来列出目录的示例:
$i=1;目录 | % {$i++;"$($i-1) `t $_"}
输出如下:
1 backgrounds
2 boot
3 inetpub
4 PerfLogs
5 Program Files
6 Program Files (x86)
7 Riot Games
8 Users
9 Windows
10 Reflect_Install.log
如果希望行号从 0 开始,则设置 $i = 0
或者,您可以在 Windows 中安装第三方cat
程序。有许多 UNIX 命令可以移植到 Windows,例如赛格威和操作系统。
安装 Cygwin 的基础安装后:
C:\cygwin64\bin\cat -n food.txt
输出:
1 apple
2 banana
3 bread
4 cake
答案2
以下是 Windows 中 cat -n 的等效版本
findstr /n . "C:\Temp\myfile.txt"
显示/n
行号。.
是一个甚至匹配空白行的正则表达式。
为了更清楚地向读者说明该命令的实际作用:
findstr.exe /n /r ".*"