С ударом:
shopt -s globstar
for file in **/*jar; do
jar tf "$file" | grep -q 'myClass' && printf '%s\n' "$file"
done
Или, чтобы напечатать имя файла и соответствующую строку:
shopt -s globstar
for file in **/*jar; do
jar tf "$file" | awk -vf="$file" '/myClass/{print f":"$0}'
done
Вы можете попробовать использовать sysdig
, это, по сути, шпионское ПО для вашей системы.
Из вики sysdiog вы можете наблюдать stdout
по имени процесса cat
, используя:
sysdig -s4096 -A -c stdout proc.name=cat
Вы также можете наблюдать любую команду, выполненную пользователем с именем foo
вот так:
sysdig -c spy_users user.name=foo
Вы также можете обратиться к этому вопросу StackExchange:
https://stackoverflow.com/questions/54771786/record-bash-interaction-saving-stdin-stdout-seperately
У этого есть много идей для вас.