Ich arbeite an einer TXT-Datei, die die Ausgabe eines neurowissenschaftlichen Programms namens fsl ist. Sie hat zwei Spalten und ich möchte die zweite entfernen. Ich habe einige der vorgeschlagenen Codes getestet, aber es scheint, als könnten die Linux-Befehle die beiden Spalten nicht trennen. Irgendeine Idee, wie man die zweite Spalte verwerfen kann? Ich habe es zum Beispiel versucht, cut -f1,1 num.txt
aber es funktioniert nicht.
0 0.000000
49 1435.537231
11 322.263489
0 0.000000
0 0.000000
0 0.000000
0 0.000000
360 10546.804688
83 2431.624512
0 0.000000
Antwort1
awk
ist meiner Meinung nach ein leistungsstarkes Tool, dessen Grundlagen es wert sind, zumindest erlernt zu werden. Es gibt viele Tutorials. Um die erste Spalte unbedingt auszudrucken, brauchen Sie nur:
awk '{print $1}' input.txt
Der Vorteil gegenüber diesem cut
ist, dass es jedes Leerzeichen als Trennzeichen betrachtet (obwohl es bei einigen Implementierungen nur auf die Zeichen SPC und TAB beschränkt ist), führende und nachfolgende Zeichen ignoriert und Sequenzen von einem oder mehreren Leerzeichen alseinsSeparator.
Antwort2
Dies sieht wie eine durch Leerzeichen getrennte Datei aus.
So extrahieren Sie die erste Spalte in eine neue Datei:
$ cut -d ' ' -f 1 data >data.new
Das -d ' '
gibt an cut
, dass als Trennzeichen ein Leerzeichen verwendet werden soll. Standardmäßig wird ein Tabulatorzeichen verwendet.