У меня есть 2 Баш функции catall и grepallфункция .bashrc реализации grepall
catall
работает отлично, catting каждый найденный файл с именем файла, выведенного первый, то содержание и новой линии
catall()
{
find . -name $1 | xargs -I % sh -c 'echo %; cat %; echo"" '
}
grepall()
{
find . -name $1 | xargs -I % sh -c 'echo %; cat % | grep $2; echo"" '
}
но grepall
не работает, это должно сделать то же самое, как catall
но со стадией Grep на содержимое файла
Почему $2
не sub'ed
Можете ли вы сделать эту работу grepall?
хорошего друг, как раз вовремя, чтобы посмотреть на расточные результаты испытаниях – dmc
Пожалуйста, рад, что это сработало. – anubhava
Возможно, вы захотите «отменить p», чтобы не загрязнять окружающую среду остальной части скрипта. Или сделайте временное присвоение env «find». -name "$ 1" | p = "$ 2" xargs -I% sh -c 'echo%; grep "$ p"%; echo "" '' - не забудьте процитировать '' $ 1 '' –