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 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. -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.