el uso idiomático de corte será
cut -f2- input > output
si el delimitador es tabulación ("\t").
O simplemente con awk
magia (funcionará tanto para el espacio como para el delimitador de tabulación)
awk '{$1=""}1' input | awk '{$1=$1}1' > output
el primer awk eliminará el campo 1, pero deja un delimitador, el segundo awk elimina el delimitador. El delimitador de salida predeterminado será el espacio, si desea cambiar a la pestaña, agregue -vOFS="\t"
al segundo awk.
ACTUALIZADO
Según su entrada actualizada, el problema son los espacios iniciales que se cortan como columnas múltiples. Una forma de solucionarlo es eliminarlos antes de alimentarlos para cortar
sed 's/^ *//' input | cut -d" " -f2- > output
o usa el awk
alternativa anterior que también funcionará en este caso.
Puedes usar cut
comando con --complement
opción:
cut -f1 -d" " --complement input.file > output.file
Esto generará todas las columnas excepto la primera.
@Karafka Tenía archivos CSV, así que agregué el separador "," (puedes reemplazarlo con el tuyo
cut -d"," -f2- input.csv > output.csv
Luego, usé un ciclo para revisar todos los archivos dentro del directorio
# files are in the directory tmp/
for f in tmp/*
do
name=`basename $f`
echo "processing file : $name"
#kepp all column excep the first one of each csv file
cut -d"," -f2- $f > new/$name
#files using the same names are stored in directory new/
done