Enumere todos los files regulares que contengan (en su nombre, directory o su contenido) una (sub) cadena específica

Al igual que en el título, y también quiero imprimir el número de la línea en cada file (text) donde se produce la subcadena.

Hasta ahora tengo:

find /sys | grep "filesystem" 

Pero parece que solo mira los nombres y directorys de los files, y no su contenido.

¿Y cómo search varias cadenas simultáneamente? Porque creo que debería search, además, "*filesystem" , "filesystem*" y "*filesystem*" para include todas las posibles ocurrencias de la cadena.

Gracias de antemano.

Si no le importa usar dos commands diferentes para los nombres de files y el contenido, los siguientes commands lo ayudarán.

 find /sys -name "*filesystem*" 

El command anterior encontrará todos los files / directorys con "sistema de files" como parte del nombre de file / directory.

 grep -rn "filesystem" /sys/* 

El command anterior searchá recursivamente todos los files que contengan "sistema de files" e imprimirá el número de línea junto con la línea correspondiente. Si desea imprimir solo el número de línea sin el contenido, puede usar el siguiente filter. Puede sustituir 2 con el número de columna que desea imprimir.

 grep -rn "filesystem" /sys/* | awk -F":" {'print $2'}