Как написать псевдоним для grep -R?
В итоге я печатаю
grep -Rni pattern .
и ужасно много. Как сделать это в псевдоним вроде
alias gr='grep -Rni [email protected] .'
Запуск, который дает:
$ gr pattern
grep: pattern: No such file or directory
Хотя псевдоним выглядит хорошо:
$ type gr
gr is aliased to `grep -R [email protected] .'
Кажется, что [email protected]и. get swapped при его фактическом выполнении.
Ответы
Ответ 1
сделать функцию вместо псевдонима. Сохраните его в файле, например mylibrary.sh, и всякий раз, когда вы хотите использовать эту функцию, отправьте файл
например mylibrary.sh
myfunction(){
grep -Rni ...
}
#!/bin/bash
source mylibrary.sh
myfunction
Ответ 2
Попробуйте следующее:
$ alias gr='grep -Rnif /dev/stdin . <<<'
$ gr pattern
./path/file:42: here is the pattern you were looking for
Это также работает:
$ alias gr='grep -Rnif - . <<<'