¿Se puede leer con permisos como POSIX?

0

Sistemas dirigidos: Linux y OS X. código original que funciona en Ubuntu 16.04 pero no en OS X, pero sigue sin éxito las POSIX normas

gfind ~ ! -readable -prune -o -type f -name "*.tex" 

donde

  • ! es sobre Negación de un primario; el operador NO único.
  • -readable TODO esto no parece ser POSIX
  • -prune es sobre El primario siempre se evaluará como verdadero; provocará que no se descienda la ruta de acceso actual si se trata de un directorio. Si se especifica el -depth primario, el -prune primario no tendrá efecto.
  • -o es sobre Alternación de primarias; el operador OR La segunda expresión no se evaluará si la primera expresión es verdadera. Eso es, si no, entonces esto.
  • -type sobre el tipo, aquí el archivo f
  • -name sobre el nombre de archivo, aquí *.tex

Salida

gfind: paths must precede expression: type
Usage: gfind [-H] [-L] [-P] [-Olevel] [-D help|tree|search|stat|rates|opt|exec] [path...] [expression]

Corregir propuesta

Use -perm 0744 en lugar de -readable pero no está seguro si es equivalente

gfind ~ ! -perm 0744 -prune -o -type f -name "*.tex" 

Salida: /Users/masi . Salida esperada: lista de archivos .tex.

¿Cómo puede configurar correctamente los permisos de búsqueda para que sean legibles?

    
pregunta Léo Léopold Hertz 준영 02.06.2016 - 13:32

2 respuestas

1

La doble negación al principio hace que esto sea bastante complejo. Solo usando

gfind . -readable -type f -name '*.tex'

debería funcionar.

PS: O find . -perm +0666 -type f -name '*.tex' para el find predeterminado.

    
respondido por el nohillside 02.06.2016 - 21:43
0

Después de intentar usar las opciones de find -user , -group y -perm , el comando find rápidamente se volvió inmanejable. Una secuencia de comandos en línea con find usando el shell -r test sería portátil entre los dos sistemas operativos.

find ~ -type f -name '*.tex' -exec sh -c 'for file
do
    [ -r "$file" ] && echo "$file"
done
' sh {} + 2>/dev/null
    
respondido por el fd0 03.06.2016 - 18:36

Lea otras preguntas en las etiquetas