Как использовать grep для быстрого и удобного поиска данных - PullRequest
0 голосов
/ 16 ноября 2011

Я спрашиваю общее мнение о том, как быстро находить файлы.

Один из типичных сценариев заключается в том, что мне часто приходится собирать некоторые имена из PeopleNameFile.txt из Dir1.Когда я нахожусь в другом каталоге, я вынужден выполнить поиск по файлу с длинным путем к каталогу.Было бы неплохо просто сделать GREP "Warren Buffett" PeopleNameFile.txt.

Кстати, я использую Cygwin, но приветствую любые предложения.

Ответы [ 4 ]

1 голос
/ 16 ноября 2011

Вы можете легко написать простую функцию bash в вашем ~ / .bashrc:

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

Затем в командной строке вы можете набрать:

$ grnm "Warren Buffet"

хорошая вещьв том, что вы можете включить другие параметры grep, если хотите:

$ grnm -i "warren buffet"

(символы $ представляют приглашение командной строки, а не часть вводимой вами команды.)

Когда вы редактируете файл .bashrc НА ПЕРВЫЙ РАЗ, вам, возможно, придется использовать его в существующих открытых окнах cygwin:

$ source ~/.bashrc

Но если вы открываете новое окно, вам не нужно этого делать.*

Удачи, веселья

1 голос
/ 16 ноября 2011

Вы можете создать скрипт my_grep.sh и добавить его куда-нибудь к вашему пути, с таким содержанием:

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

, чем вы просто набираете

my_grep.sh "Warren Buffett" 

, также вы можете использовать псевдоними функция bash, но для этого нужно отредактировать "~ / .bashrc".

0 голосов
/ 16 ноября 2011

Вероятно, наиболее распространенный способ сделать подобные вещи - это использовать переменные окружения

например

PNF='/very/long/path/PeopleNameFile.txt'
grep "Warren Buffett" $PNF
0 голосов
/ 16 ноября 2011

Самый простой вариант - установить псевдоним, который будет использовать grep для этого файла, используя абсолютный путь. Не уверен, что Cygwin допускает псевдонимы.

...