GNU/Linux >> Tutoriels Linux >  >> Linux

Comment supprimer la première colonne (qui est en fait des noms de lignes) d'un fichier de données sous Linux ?

l'usage idiomatique de cut sera

cut -f2- input > output

si votre délimiteur est une tabulation ("\t").

Ou, simplement avec awk magie (fonctionnera à la fois pour l'espace et le délimiteur de tabulation)

 awk '{$1=""}1' input | awk '{$1=$1}1' > output

le premier awk supprime le champ 1, mais laisse un délimiteur, le second awk supprime le délimiteur. Le délimiteur de sortie par défaut sera l'espace, si vous voulez passer à l'onglet, ajoutez -vOFS="\t" au deuxième awk.

MISE À JOUR

Sur la base de votre entrée mise à jour, le problème réside dans les espaces initiaux qui coupent les traitements en plusieurs colonnes. Une façon d'y remédier est de les retirer avant de les nourrir pour couper

sed 's/^ *//' input | cut -d" " -f2- > output

ou utilisez le awk alternative ci-dessus qui fonctionnera également dans ce cas.


Vous pouvez utiliser cut commande avec --complement choix :

cut -f1 -d" " --complement input.file > output.file

Cela affichera toutes les colonnes sauf la première.


@Karafka J'avais des fichiers CSV donc j'ai ajouté le séparateur "," (vous pouvez remplacer par le vôtre

cut -d"," -f2- input.csv  > output.csv

Ensuite, j'ai utilisé une boucle pour parcourir tous les fichiers du répertoire

# 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

Linux
  1. Comment supprimer plusieurs lignes aléatoires d'un fichier texte à l'aide de Sed ?

  2. Comment supprimer les lignes qui apparaissent sur le fichier B d'un autre fichier A ?

  3. afficher la 2ème colonne d'un fichier

  4. Omettre la première ligne de toute sortie de commande Linux

  5. Comment obtenir le chemin d'accès au fichier actuel (pwd) sous Linux à partir de C ?

Comment afficher les données d'un fichier texte sous Linux

Supprimer le répertoire sous Linux - Comment supprimer un dossier de la ligne de commande

Comment obtenir le nom de fichier à partir du chemin complet sous Linux

Comment capturer la sortie d'une commande top dans un fichier sous Linux ?

Comment rediriger la sortie de la commande time vers un fichier sous Linux ?

Comment lire la colonne IDLE dans la sortie de la commande Linux 'w' ?