Bueno, encontré una solución diferente que usa ls
y awk
en lugar de encontrar Y esto sin duda necesita y puede ser optimizado. Aquí va :
ls -alR | awk '{ if ($3 != $4) print $0 }'
Cómo funciona :
- Mira qué
-alR
hace de man ls
- awk busca el patrón.
$3
&erio; $4
correspondientemente da 3 rd &erio; 4 th Columna en salida de ls que son file owner
y group
ese dueño es parte de
$0
Da línea completa en salida ls.
- Condición
if ($3 != $4) print $0
interpreta a "Imprimir línea completa con todas las columnas en donde el valor es 3 rd columna no es igual a valor en 4 th columna
- El comando completo se puede interpretar como Imprima solo las líneas en la salida ls donde el nombre del propietario del archivo y el nombre del grupo no sean los mismos .
Limitación
A veces, da este error para algunos archivos:
ls: cannot open directory './chatscripts': Permission denied
Según tengo entendido, es un problema de permiso con el usuario desde el que se ejecuta el comando. El usuario no es propietario ni parte del grupo para ese archivo y, por lo tanto, no puede acceder a él.
Lo que quieras se puede hacer definitivamente con find
comando, pero creo que esto también puede ser una solución y también seguirá habiendo este problema de permiso Si lo haces con find
mando.
Siéntase libre de añadir más detalles.