14
rated 0 times
[
14]
[
0]
/ answers: 1 / hits: 3726
/ 1 Year ago, sat, december 10, 2022, 4:07:37
I am looking for a terminal way. Open all files in /foo/bar
containing the string foobar
. How?
More From » command-line
I am looking for a terminal way. Open all files in /foo/bar
containing the string foobar
. How?
You didn't say how you want to open them :)
One way is to use grep to recursively look for the string in your files (-r). Use -l to ask grep to output only the filenames of matching files. This will output one filename per line, use xargs to build a suitable command line for your editor.
grep -r -l foobar /foo/bar/ | xargs vim
this also works with gedit; just change vim for gedit.
You can also use find for this but it's more complicated IMHO:
find /foo/bar -type -f -exec grep -l foobar {} ; | xargs vim