examples - ¿Cómo usar el comando cut en bash para mostrar todas las columnas excepto las indicadas?
cut linux ejemplos (4)
Aquí hay un comando que funciona, y que es un poco más corto que el de todos:
cut -b 4- input-file
-b representa byte, y selecciona los bytes que se pegarán en la pantalla.
4- es una parte de -b y significa que seleccionará el cuarto carácter de cada fila al último carácter de cada fila. el comando de corte luego pegará la selección en la pantalla.
Necesito eliminar una columna de un archivo de texto plano. Creo que esto podría hacerse usando la inversa del comando de corte. Quiero decir, algo como esto:
Si este es mi archivo:
01 Procedimiento_tal retiro aceptado
01 tx1
01 tx2
01 tx3
02 Procedimiento_tal retiro rechazado
02 tx1
02 tx2
02 tx3
03 Procedimiento_tal retiro aceptado
03 tx1
03 tx2
03 tx3
¿Qué puedo hacer para eliminar la primera columna con corte y obtener el siguiente texto en bash ?:
Procedimiento_tal retiro aceptado
tx1
tx2
tx3
Procedimiento_tal retiro rechazado
tx1
tx2
tx3
Procedimiento_tal retiro aceptado
tx1
tx2
tx3
Gracias por adelantado
GNU coreutils cut soporta la bandera --complement
. Así que si estás usando esa versión de corte puedes decir:
cut --complement -d'' '' -f1 infile
Salida:
Procedimiento_tal retiro aceptado
tx1
tx2
tx3
Procedimiento_tal retiro rechazado
tx1
tx2
tx3
Procedimiento_tal retiro aceptado
tx1
tx2
tx3
Para leer el infile
con '' ''
como delimitador ( -d
) y poner los campos ( -f
) 2 en adelante ( 2-
) en el file
:
cut -d'' '' -f2- infile > file
Ver man cut
para más opciones.
NB: Esto no es específico de bash .
Utilizando cut
:
cut -d '' '' -f 2- input-file
deberías hacer lo que quieras