大部分的用户使用Linux非常舒适的使用命令行。的一个基本要求是找到特定的字符串在特定文件或文件,甚至从一个特定的命令的输出。Grep是一个命令行选项用于查找一个特定的字符串从一个文件或多个文件中或从一个命令的输出,但只能在Linux中使用。对于Windows, grep替代中。
因为Windows用户不习惯使用命令行对小事情,大多数用户不知道如何找到一个特定的字符串文件使用Windows命令行甚至PowerShell。在本文中,我们将讨论如何使用中(相当于Grep在Windows)命令提示符并使用PowerShell如何使用find函数。让我们讨论不同的场景可以用于现实世界的情况。
滤波器的输出命令使用命令提示符
如果你想过滤一个命令的结果,您可以使用|中“string_to_find”
例如,我主要使用netstat检查连接在我的电脑。如果我想检查应用程序或IP地址连接到一个特定的端口,我将使用以下命令:
netstat |中“imap”
这只会给我安全的imap端口打开我的电脑。
寻找一个特定的字符串在单个文件使用命令提示符
该目的的命令是:
中“string_to_find”“file_name”
例如,
“新1. txt”中“读者”
你也可以给文件的完整路径,如果不是在同一目录中打开命令提示符。
寻找一个特定的字符串使用中一个文件夹
您还可以指定一个文件夹在多个文件找到一个特定的文本字符串。
中/ M“读者”“C: \用户桌面\ Usman \ \ *”
这将给所有文件的列表包含文本字符串“读者”的完整路径。如果你不指定/ M,输出将显示的文本字符串的文件名称,发现字符串。
你可以浏览所有的开关可以使用的命令在这里。
这个命令可能是有用的在许多情况下,特别是当我创建一个日志的网络活动,必须找到一个特定的东西从日志。你怎么处理这个过滤器命令“中”?
7评论
OKRickety
作者似乎已经忘记这篇文章也讨论“如何使用PowerShell使用find函数”。
NPadmanabhan
谢谢你给grep在windows。我希望你提出的所有常用的unix命令和编译在像我这样的一个文件,这样用户可以使用它作为参考书。谢谢你再一次。
Padmanabhan
乌斯曼得以
你通常使用什么其他命令在Linux和Unix中不能使用Windows ?
博
我一直试图找到文件名,开始与一个特定的字符串。
我开始通过寻找某个目录中的所有文件包含的子目录和这样的一群“dir * / s / b |中”。* \ . .*”“我输给DirectoryListing结果。txt文件来存储所有的路径。
我也有一个列表。txt文件包含文件名字符串,如:“12345”。每个文件名是一行。
然后我试图找到所有文件名字符串包含在列表开始。从我的DirectoryListing txt。txt文件。这样做我有文件名,才开始跟我的搜索字符串。如果我把我的字符串“12345”,我希望回到文件名,以“12345”开始,但我也收到了文件名,包括连字符“11 - 12345′。像在你的例子中“读者”返回“adobe reader…”。
这就是我试图解析文件:对/ F“Delims = |”% % X(“中/ IRC:“\”“% % \ %目的地目录%”)
% %是字符串,如:“12345”
我DirectoryListing.txt %目录%
我的问题是我怎么能够使用中查找文件名从某个字符串,并没有一个“-”字符在字符串?
张志贤
我理解正确:字符串中匹配,不是一个正则表达式模式,对吧?
你叫一个“相当于grep”? ?
乌斯曼得以
最接近的替代grep在Windows中。我们不能比较每个命令的所有功能,但命令的基本功能是相同的。
dasra
我想过滤gitbranch名称|我使用git分支中“*”是输出一个分支的名字,但包括*信号。我想知道如果有任何方式选择的确切名字分支并将其保存到字符串。
专门为分支莱克阀门rel - 0.1不工作。
我试图将git分支| grep \ * |切- d ' ' - f2 | git把起源从bash脚本
> | git分支中“*”| git拉起源但随时分支的名字就像rel - 0.1不为别人工作,但它是有效的。
我们的目标是将起源从当前选中的分支。