Следующая команда может распечатывать, когда файл соответствует критериям поиска:
grep -Zril 'String1' | xargs -0 grep -il 'String2'
Вот пример:
~/tmp$ ls
Dir1 Dir2 File1 File2
cat File1
AccessToken is not here
Registrationrequest it is here
cat File2
iAccess
ByteMe Registrationrequest
Я скопировал как File1, так и [ f7] в Dir1 и Dir2 для тестирования:
~/tmp$ grep -Zril 'AccessToken' | xargs -0 grep -il 'Registrationrequest'
File1
Dir2/File1
Dir1/File1
Затем, если вы хотите увидеть, что находится в файлах, добавьте следующее в конец поиска:
[ f4]Пример:
~/tmp$ grep -Zril 'AccessToken' | xargs -0 grep -il 'Registrationrequest' | xargs grep -E "AccessToken|Registrationrequest"
File1:AccessToken is not here
File1:Registrationrequest it is here
Dir2/File1:AccessToken is not here
Dir2/File1:Registrationrequest it is here
Dir1/File1:AccessToken is not here
Dir1/File1:Registrationrequest it is here
Надеюсь, это поможет!
Справка для alias указывает, что он может сразу назначить несколько псевдонимов:
alias: alias [-p] [name[=value] ... ]
Define or display aliases.
Without arguments, `alias' prints the list of aliases in the reusable
form `alias NAME=VALUE' on standard output.
Otherwise, an alias is defined for each NAME whose VALUE is given.
A trailing space in VALUE causes the next word to be checked for
alias substitution when the alias is expanded.
Таким образом, вы можете использовать расширение скобки для генерации пар name=value:
alias {at,cart,cst}='/bin/cat'
Итак:
$ alias {at,cart,cst}='/bin/cat'
$ type at cart cst
at is aliased to `/bin/cat'
cart is aliased to `/bin/cat'
cst is aliased to `/bin/cat'
Итак, посмотрите на zsh, у которого есть встроенная коррекция опечатки (что не помогло бы для at, но это помогло бы другим):
% setopt correct
% sl
zsh: correct `sl' to `ls' [nyae]? y
% setopt correctall
% ls x.v11r4
zsh: correct `x.v11r4' to `X.V11R4' [nyae]? n
/usr/princton/src/x.v11r4 not found
% ls /etc/paswd
zsh: correct to `/etc/paswd' to `/etc/passwd' [nyae]? y
/etc/passwd
Если вы нажмете y, когда оболочка спросит вас, хотите ли вы исправить слово, оно будет исправлено. Если вы нажмете n, он останется в покое. Нажатие a отменяет команду, и при нажатии e снова выводится строка для редактирования, если вы согласитесь, что слово написано неправильно, но вам не нравится исправление. Справка для alias указывает, что он может сразу назначить несколько псевдонимов:
alias: alias [-p] [name[=value] ... ]
Define or display aliases.
Without arguments, `alias' prints the list of aliases in the reusable
form `alias NAME=VALUE' on standard output.
Otherwise, an alias is defined for each NAME whose VALUE is given.
A trailing space in VALUE causes the next word to be checked for
alias substitution when the alias is expanded.
Таким образом, вы можете использовать расширение скобки для генерации пар name=value:
alias {at,cart,cst}='/bin/cat'
Итак:
$ alias {at,cart,cst}='/bin/cat'
$ type at cart cst
at is aliased to `/bin/cat'
cart is aliased to `/bin/cat'
cst is aliased to `/bin/cat'
Итак, посмотрите на zsh, у которого есть встроенная коррекция опечатки (что не помогло бы для at, но это помогло бы другим):
% setopt correct
% sl
zsh: correct `sl' to `ls' [nyae]? y
% setopt correctall
% ls x.v11r4
zsh: correct `x.v11r4' to `X.V11R4' [nyae]? n
/usr/princton/src/x.v11r4 not found
% ls /etc/paswd
zsh: correct to `/etc/paswd' to `/etc/passwd' [nyae]? y
/etc/passwd
Если вы нажмете y, когда оболочка спросит вас, хотите ли вы исправить слово, оно будет исправлено. Если вы нажмете n, он останется в покое. Нажатие a отменяет команду, и при нажатии e снова выводится строка для редактирования, если вы согласитесь, что слово написано неправильно, но вам не нравится исправление. Справка для alias указывает, что он может сразу назначить несколько псевдонимов:
alias: alias [-p] [name[=value] ... ]
Define or display aliases.
Without arguments, `alias' prints the list of aliases in the reusable
form `alias NAME=VALUE' on standard output.
Otherwise, an alias is defined for each NAME whose VALUE is given.
A trailing space in VALUE causes the next word to be checked for
alias substitution when the alias is expanded.
Таким образом, вы можете использовать расширение скобки для генерации пар name=value:
alias {at,cart,cst}='/bin/cat'
Итак:
$ alias {at,cart,cst}='/bin/cat'
$ type at cart cst
at is aliased to `/bin/cat'
cart is aliased to `/bin/cat'
cst is aliased to `/bin/cat'
Итак, посмотрите на zsh, у которого есть встроенная коррекция опечатки (что не помогло бы для at, но это помогло бы другим):
% setopt correct
% sl
zsh: correct `sl' to `ls' [nyae]? y
% setopt correctall
% ls x.v11r4
zsh: correct `x.v11r4' to `X.V11R4' [nyae]? n
/usr/princton/src/x.v11r4 not found
% ls /etc/paswd
zsh: correct to `/etc/paswd' to `/etc/passwd' [nyae]? y
/etc/passwd
Если вы нажмете y, когда оболочка спросит вас, хотите ли вы исправить слово, оно будет исправлено. Если вы нажмете n, он останется в покое. Нажатие a отменяет команду, и при нажатии e снова выводится строка для редактирования, если вы согласитесь, что слово написано неправильно, но вам не нравится исправление. Я не думаю, что вы можете назначить сразу несколько псевдонимов. Но вы можете прокрутить список следующим образом:
for a in cart xat vat xst cst vst dog; do alias "$a"='/bin/cat'; done
Убедитесь, что псевдонимы еще не используются другими программами (например, at в вашем примере).
Я не думаю, что вы можете назначить сразу несколько псевдонимов. Но вы можете прокрутить список следующим образом:
for a in cart xat vat xst cst vst dog; do alias "$a"='/bin/cat'; done
Убедитесь, что псевдонимы еще не используются другими программами (например, at в вашем примере).
Я не думаю, что вы можете назначить сразу несколько псевдонимов. Но вы можете прокрутить список следующим образом:
for a in cart xat vat xst cst vst dog; do alias "$a"='/bin/cat'; done
Убедитесь, что псевдонимы еще не используются другими программами (например, at в вашем примере).