2011-11-15 18 views
0

我想了解如何快速查找文件的一般意见。如何使用grep方便快捷地查找数据

一个典型的情况是,我经常需要从Dir1的PeopleNameFile.txt中grep一些名称。当我在不同的目录中时,我被迫用长目录路径grep文件。只要做GREP“沃伦巴菲特”PeopleNameFile.txt就会很好。

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

回答

1

您可以轻松地编写一个简单的bash功能,在你的〜/ .bashrc:

function grnm() { 
    grep "[email protected]" /path/to/peoplenamefile.txt 
} 

再后来就在命令行,您可以键入:

$ grnm "Warren Buffet" 

的好处是你可以包括其他grep参数如果你喜欢,如:

$ grnm -i "warren buffet" 

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

当您编辑.bashrc文件,第一次你可能要采购它在你现有的开放cygwin的窗口:

$ source ~/.bashrc 

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

祝你好运,玩得开心

1

您可以创建脚本my_grep.sh和地方把它添加到您的路径,像这样的内容:

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

比你只需要输入

my_grep.sh "Warren Buffett" 

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

0

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

+0

肯定。 cygwin包含bash。 bash支持别名。 – aschepler

0

大概做这类事情的最常用的方法是使用环境变量

例如

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