GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wie lösche ich die erste Spalte (die eigentlich Zeilennamen sind) aus einer Datendatei in Linux?

Die idiomatische Verwendung von cut wird

sein
cut -f2- input > output

wenn Ihr Trennzeichen ein Tabulator ("\t") ist.

Oder einfach mit awk magic (funktioniert sowohl für Leerzeichen als auch für Tab-Trennzeichen)

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

Das erste awk löscht Feld 1, lässt aber ein Trennzeichen, das zweite awk entfernt das Trennzeichen. Das Standardtrennzeichen für die Ausgabe ist ein Leerzeichen. Wenn Sie zum Tabulator wechseln möchten, fügen Sie -vOFS="\t" hinzu zum zweiten awk.

AKTUALISIERT

Basierend auf Ihrer aktualisierten Eingabe besteht das Problem in den anfänglichen Leerzeichen, die Leckereien als mehrere Spalten schneiden. Eine Möglichkeit, dies zu beheben, besteht darin, sie zuerst zu entfernen, bevor sie zum Schneiden verfüttert werden

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

oder verwenden Sie den awk Alternative oben, die auch in diesem Fall funktioniert.


Sie können cut verwenden Befehl mit --complement Möglichkeit:

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

Dadurch werden alle Spalten außer der ersten ausgegeben.


@Karafka Ich hatte CSV-Dateien, also habe ich das Trennzeichen "," hinzugefügt (Sie können es durch Ihr eigenes ersetzen

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

Dann habe ich eine Schleife verwendet, um alle Dateien im Verzeichnis zu durchlaufen

# 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. Linux – Die Buffers-Spalte in der Ausgabe von Free?

  2. Wie lösche ich mehrere zufällige Zeilen aus einer Textdatei mit Sed?

  3. Löschen Sie die ersten fünf Zeichen in einer beliebigen Zeile einer Textdatei unter Linux mit sed

  4. Wie entferne ich die Zeilen, die in Datei B erscheinen, aus einer anderen Datei A?

  5. Ausgabe der 2. Spalte einer Datei

Lesen und schreiben Sie Daten von überall mit Umleitung im Linux-Terminal

So zeigen Sie Daten aus einer Textdatei in Linux an

So verhindern und wiederherstellen Sie versehentliches Löschen von Dateien in Linux

Verzeichnis in Linux entfernen – So löschen Sie einen Ordner von der Befehlszeile aus

So erhalten Sie den Dateinamen aus dem vollständigen Pfad in Linux

Wie liest man die IDLE-Spalte in der Ausgabe des Linux-Befehls „w“?