GNU/Linux >> Tutoriales Linux >  >> Linux

Caracteres de cola y comodines

Solución 1:

Creo que le gustaría:

tail -n 10 *-access.log

En cuanto a por qué :
No creo que tenga nada que ver con globbing:

tail -10 foo-access.log arf-access.log 
tail: option used in invalid context -- 1

Creo que sucede que tu globo se expande a un archivo. Probablemente tenga algo que ver con el análisis de algunas opciones arcaicas que soy demasiado perezoso para tratar de leer, pero si realmente quieres saberlo, busca en tail.c en la fuente de coreutils y diseccione la siguiente función:

parse_obsolete_option (int argc, char * const *argv, uintmax_t *n_units)

Solución 2:

Si bien es un poco antigua, la pregunta sigue siendo relevante. Me encontré con un problema similar

ssh myserver.com 'tail -2 file-header*'

eso me dio el error

cola:opción utilizada en contexto inválido -- 2

sin embargo, seguimiento solo un archivo, como

ssh myserver.com 'tail -2 file-header-file-one'

funciona bien. Mirando la fuente tail.c muestra esa cola comienza analizando obsoleto options, luego analice el resto (es decir, las opciones que aún no se han procesado), las opciones normales. Sin embargo, parse_obsolete_option() espera un uso "obsoleto", con un solo archivo como argumento.
Entonces, al proporcionar más archivos, la función regresa de inmediato y deja que el analizador regular se ahogue con -2 (esperando -n 2 ).

  /* With the obsolete form, there is one option string and at most
     one file argument.  Watch out for "-" and "--", though.  */
  if (! (argc == 2
         || (argc == 3 && ! (argv[2][0] == '-' && argv[2][1]))
         || (3 <= argc && argc <= 4 && STREQ (argv[2], "--"))))
    return false;

En conclusión, es mejor usar siempre el -n forma regular, sabiendo que el código "obsoleto" solo acepta un archivo.


Linux
  1. Comandos de cabeza y cola en Linux explicados con ejemplos

  2. ¿Relaciones entre caracteres de control, señales y terminal?

  3. ¿Ubuntu 16.04 y problemas de AMDGPU?

  4. unix - cabeza Y cola del archivo

  5. uso de comodines de linux en cp y mv

Comando Wc en Linux (Cuenta Número de Líneas, Palabras y Caracteres)

[Consejos de Bash] Cómo cd y ls en un solo comando

[Consejos de Bash] Cómo cp o mv y cd en un solo comando

¿Qué es un Homelab y por qué debería tener uno?

Subdominios comodín y DNS

Obtener los caracteres  y â en la consola Linux PuTTY