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

时间:2011-11-15 23:43:50

标签: cygwin grep

我要求就如何快速查找文件提出一般意见。

一个典型的情况是我经常需要从Dir1的PeopleNameFile.txt中获取一些名称。当我在不同的目录中时,我被迫使用长目录路径来grep该文件。做GREP“Warren Buffett”PeopleNameFile.txt。

会很高兴 顺便说一下,我正在使用Cygwin,但我欢迎任何建议。

4 个答案:

答案 0 :(得分:1)

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

#!/bin/bash
grep $1 path/to/Dir1/PeopleNameFile.txt

比你输入

my_grep.sh "Warren Buffett" 

你也可以使用alias和bash的功能, 但这需要编辑“〜/ .bashrc”。

答案 1 :(得分:1)

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

function grnm() {
     grep "$@" /path/to/peoplenamefile.txt
}

稍后,在命令行中输入:

$ grnm "Warren Buffet"

好消息是,如果您喜欢,可以实际包含其他grep参数:

$ grnm -i "warren buffet"

$个字符代表您的shell提示符,而不是您键入的命令的一部分。)

当您第一次编辑.bashrc文件时,您可能需要在现有的开放式cygwin窗口中对其进行搜索:

$ source ~/.bashrc

但是,如果你打开一个新窗口,则不必这样做。

祝你好运,玩得开心

答案 2 :(得分:0)

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

答案 3 :(得分:0)

执行这些操作的最常见方法可能是使用环境变量

e.g。

PNF='/very/long/path/PeopleNameFile.txt'
grep "Warren Buffett" $PNF