I am trying to find a command or create a Linux script that can do this two comands and list the otuput
find . -name '*bills*' -print
this prints all the files
./may/batch_bills_123.log ./april/batch_bills_456.log ..
from this result I want to do a grep for a word I do this manually right now
grep 'put' ./may/batch_bill_123.log
and get
sftp > put oldnet_1234.lst
I would hope to get the file name and its match.
./may/batch_bills_123.log sftp > put oldnet_1234.lst .. .. and so on...
any ideas?
Recursive Search To recursively search for a pattern, invoke grep with the -r option (or --recursive ). When this option is used grep will search through all files in the specified directory, skipping the symlinks that are encountered recursively.
Grep is a powerful utility available by default on UNIX-based systems. The name stands for Global Regular Expression Print. By using the grep command, you can customize how the tool searches for a pattern or multiple patterns in this case. You can grep multiple strings in different files and directories.
You are looking for -H
option in gnu grep.
find . -name '*bills*' -exec grep -H "put" {} \;
-H, --with-filename Print the filename for each match.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With