
Me encontré con la noción de primarias al ejecutar man find
:
.
.
.
PRIMARIES
All primaries which take a numeric argument allow the number to be preceded by a plus sign (``+'') or a minus sign (``-''). A preceding plus sign means ``more than n'', a pre-
ceding minus sign means ``less than n'' and neither means ``exactly n''.
.
.
-depth n
True if the depth of the file relative to the starting point of the traversal is n.
buscandodocumentación POSIXpara "primarias" no arrojó resultados.
Al explorar un poco, parece que las primarias son diferentes de los interruptores y las banderas porque aparecen después de los interruptores, las banderas y los argumentos principales:
$ find -depth 1 .
find: illegal option -- e
usage: find [-H | -L | -P] [-EXdsx] [-f path] path ... [expression]
find [-H | -L | -P] [-EXdsx] -f path [path ...] [expression]
$ find . -depth 1
./.DS_Store
./.vagrant
./foo
./some
Me pregunto:
- ¿Qué son las primarias?
- ¿Hay alguna documentación que pueda leer sobre ellos?
- ¿En qué se diferencian de los interruptores o banderas?
Respuesta1
Son las condiciones/acciones del find
lenguaje de, en las que consiste principalmente la "expresión" a la que se refiere la línea de uso: -name
, -type
, -print
, -exec
etc. El término se usa para separarlos de los operadores que solo combinan los primarios: !
, -a
y -o
el paréntesis.
No recuerdo haber visto ese término usado en otros contextos que no sean find
. Se utiliza en elEspecificación POSIX parafind
y en elPágina de manual de FreeBSD. GNU también destaca en esto, la documentación para GNU find (por ejemplo, la página de manual) no usa el término, sino que divide las primarias enpruebassobre las propiedades de los archivos,comportamientoque haga algo, yopcionesque afectan find
su funcionamiento. La división parece útil pero es ligeramente inexacta, ya que todos los primarios devuelven un valor de verdad, incluso las acciones.