Cygwin 如何使用grep方便快捷地查找数据

Cygwin 如何使用grep方便快捷地查找数据,cygwin,grep,Cygwin,Grep,我在征求关于如何快速查找文件的一般意见 一个典型的场景是,我经常需要从Dir1的PeopleNameFile.txt中grep一些名称。当我在另一个目录中时,我被迫用一个长的目录路径对文件进行grep。只要做GREP“Warren Buffett”PeopleNameFile.txt就好了 顺便说一句,我正在使用Cygwin,但我欢迎任何建议。您可以创建脚本my_grep.sh并将其添加到路径的某个位置,内容如下: #!/bin/bash grep $1 path/to/Dir1/PeopleN

我在征求关于如何快速查找文件的一般意见

一个典型的场景是,我经常需要从Dir1的PeopleNameFile.txt中grep一些名称。当我在另一个目录中时,我被迫用一个长的目录路径对文件进行grep。只要做GREP“Warren Buffett”PeopleNameFile.txt就好了


顺便说一句,我正在使用Cygwin,但我欢迎任何建议。

您可以创建脚本my_grep.sh并将其添加到路径的某个位置,内容如下:

#!/bin/bash
grep $1 path/to/Dir1/PeopleNameFile.txt
而不是你只是打字

my_grep.sh "Warren Buffett" 
还可以使用alias和bash的函数,
但这需要编辑“~/.bashrc”。

最简单的选项是设置一个别名,该别名将使用绝对路径对该文件进行grep。但不确定cygwin是否允许使用别名。

可能最常用的方法是使用环境变量

e、 g


您可以在~/.bashrc中轻松编写一个简单的bash函数:

function grnm() {
     grep "$@" /path/to/peoplenamefile.txt
}
随后,在命令行中,您可以键入:

$ grnm "Warren Buffet"
很好的一点是,如果您愿意,您实际上可以包括其他grep参数,如:

$ grnm -i "warren buffet"
(字符
$
代表您的shell提示符,而不是您键入的命令的一部分。)

首次编辑.bashrc文件时,可能必须在现有的开放式cygwin windows中对其进行源代码编辑:

$ source ~/.bashrc
但是,如果你打开一个新窗口,你不应该这样做


祝你好运,玩得开心

当然。cygwin包括bash。bash支持别名。
$ source ~/.bashrc