Tijeras

Documentation
Login

Documentation

Herramienta de filtrado, extraccion y postprocesado de texto estructurado.

  > tijeras FLAGS... [INPUT_FILE|#COMMAND|-]...

Tijeras es un programa de linea de comandos que permite recortar el texto
de entrada y seleccionar sus columnas.


Seleccion de columnas:
  -f FIELDS [+]     Selecciona columna(s) a emitir
  -a, --all         Equivalente a -f1 -f2 -f3 -f4...
  -L STRING, --literal STRING [+]
                    Emitir columna literal. Equivalente a -f&STRING
Particionado de columnas:
  -d DELIMITER [+]  Separador de columnas (por defecto: espacios/tabs).
  -D DELIMITER      Equivalente a -d DELIMITER --output-delimiter DELIMITER.
  --detect          Detectar separador automaticamente.
  -w                Separar por espacios/tabs. Equivalente a -d ' ' -d '\t'
  --csv             Procesar fichero CSV (comma-separated values).
                    Equivalente a -d ',' --header
  --nld, --no-leading-delimiter
                    Omitir separador al comienzo de linea
  -e, --empty-columns   Respeta las columnas vacias.
  --pl NUMFIELDS, --parse-limit NUMFIELDS
                    Parsear hasta una cantidad maxima de columnas.
                    -NUMFIELDS para hacer parsing de derecha a izquierda.

Modos de lectura:
  -m, --merge       Integra las lineas de los ficheros de entrada como
                    columnas de una misma linea.
  --series NUMLINES|SERIES_DELIMITER
                    Integra series de lineas consecutivas como columnas de
                    una misma linea.
  --series-end SERIES_END_DELIMITER
                    Procesa series de lineas consecutivas hasta el delimitador
                    de cierre indicado.
  --flatten         Integra todas las lineas como columnas de una sola linea.
                    Implica --newline si --od no se declara.
  --par, --paragraph   Procesa input como parrafos de texto.
  --chars           Modo de seleccion de caracteres (sin separador).

Ordenamiento de columnas:
  --asc FIELDS      Ordenar de manera ascendente considerando la(s) columna
                    especificada. Soporta ordenar por clave compuesta.
  --desc FIELDS     Ordenar de manera descendente
  --sort literal|numeric|smart|ext|size|isosize|units=U1,U2,U3...
                    Modo de ordenamiento (por defecto: literal)
  --min             Equivalente a --asc 1 --sort smart --limit 1 -f 1
  --max             Equivalente a --desc 1 --sort smart --limit 1 -f 1
  --dedup FIELDS    Descarta columnas consecutivas repetidas

Filtros:
  -s, --only-delimited   Emitir solo lineas que contienen separador.
  -t, --strict      Emitir solo lineas cuyas columnas seleccionadas existan.
  -T, --superstrict   Finaliza el programa cuando una linea no tiene las
                    columnas seleccionadas.
  -p PATTERN[:FORMAT], --pattern PATTERN[:FORMAT] [+]
                    Procesar solo lineas que contienen el patron indicado.
                    Continuar procesando el trozo de texto encontrado.

  -P PATTERN [+]    Equivalente a --pattern pero continua procesando la
                    linea original.
  -Q PATTERN [+]    Excluir lineas mediante patron.
  -W PATTERN, --wildcards PATTERN [+]
                    Similar a --pattern pero las columnas a procesar
                    son cada comodin especificado.
                    Equivalente a -p PATTERN:C1,C2,C3... '-fall > -d, ...'
  -k NUMLINES, --skip NUMLINES
                    Ignorar las primeras N lineas
  -l NUMLINES, --limit NUMLINES
                    Procesar N lineas y terminar
  --nf NUMFIELDS, --num-fields NUMFIELDS
                    Procesar solo lineas que contienen NUMFIELDS columnas.
                    +NUMFIELDS para indicar una cantidad igual o mayor
                    de columnas. -NUMFIELDS para una cantidad igual o menor.

Postprocesamiento:
  --od OUTPUT_DELIMITER, --output-delimiter OUTPUT_DELIMITER
                    Emitir columnas unidas con el delimitador indicado
                    (por defecto: tab)
  --space           Equivalente a --od ' '
  --newline         Equivalente a --od '~n'
  --fill STRING     Rellena columnas invalidas con el texto indicado
  --strip STRING [+]   Recorta texto a los extremos de las columnas
  --stripw          Shortcut de --strip para recortar espacios/tabs.
  --strip-non-words, --words
                    Recorta caracteres que no sean letras/numeros a los
                    extremos de las columnas.
  --trim MAX_COLUMN_SIZE
                    Recorta columnas que exceden el ancho maximo indicado.
  --trim-point anywhere|prefer-word
                    NOT IMPLEMENTED YET
  --trim-ellipsis STRING
                    Adjuntar STRING a cada columna recortada con --trim.
  --wrap MAX_COLUMN_SIZE
                    Recorta columnas que exceden el ancho maximo indicado
                    y distribuye su contenido en varias lineas.
  --wrap-point anywhere|prefer-word
                    NOT IMPLEMENTED YET
  --align left|center|right|maxleft|maxcenter|maxright
                    Alinea columnas en la orientacion indicada rellenando
                    con espacios segun corresponda. Este flag tambien se
                    puede combinar con --trim/--wrap
  --rl, --rotate-left   Rotar el texto final como un bloque en sentido
                    contrario al reloj.
  --rr, --rotate-right   Rotar el texto final como un bloque en sentido
                    del reloj.

Run API:
  --begin CODE      Execute python code at program start.
  --run CODE        Execute python code for every line iteration.
  --end CODE        Execute python code at program end.
  --sum             Assume columns contain only numbers and sum them all.
                    Print the results for each column. This is a
                    shortcut implemented with run expressions.
  **Initial run environment**
    Variables:      LINENO, LINE, COLUMNS, C, RESULT
    Funciones:      F(N), F(N,M), kv(DEFAULTVALUE), emit(*STRING),
                    ignore(), discard(), stop(), abort(), shell()

Otras opciones:
  -H, --header      La primera linea contiene los nombres de cada columna.
                    Permite seleccionar columnas por nombre.
                    Por ejemplo -fid, -fname, -fage, -fcity...
  -r, --regex       Utiliza sintaxis regex en expresiones -dDELIMITER,
                    -fFIELDS/PATTERN, -pPATTERN, -PPATTERN,
                    --series=SERIES_DELIMITER y
                    --series-end=SERIES_END_DELIMITER.
  -i, --ignorecase  Prueba regexs en modo case-insensitive.
  --mp, --multiline-pipes
                    Procesa el output completo de tuberias y llamadas a
                    sistema, en vez de leer solo la primera linea emitida.
  --bad-lines       Emitir solo lineas que no pasan los filtros -s, --strict,
                    --num-fields o --pattern.
  -y, --summary     Al finalizar presenta un resumen de ejecucion.
  -Y, --summary-lines   Presenta resumen incluyendo un dump de las lineas
                    emitidas.
  --report          Muestra los argumentos de invocacion al iniciar
  --debug           Mostrar trazas de funcionamiento del programa.
  -q, --quiet       Silenciar mensajes de advertencia
  -h, --help        Mostrar opciones disponibles.
  -?, --short-help  Mostrar opciones disponibles (vista compacta).
  -hh, --long-help  Mostrar documentacion de ayuda mas extensiva.
  -hhh, --syntax    Mostrar resumen sintactico de todas las opciones.

Para configurar globalmente escriba en su shell. Por ejemplo:
  > export TIJERASFLAGS="--report --debug"


Copyright (c) 2018-2024, Franklin Brauning.