Bash awk Verständnis-Frage

Josef Federl - Samstag, 22. Juli 2017 17:46:59 - 2 Antworten

#!/bin/bash
# Skriptdateiname = test.sh
spaltennummer=10
wert=zehner
awk '{ $'$spaltennummer' = VAR; print }' FS=',' OFS=',' "VAR=${wert}" daten.csv
___________________________________________________________________________________
In der Konsole:
___________________________________________________________________________________
[root@rechner]# ./test.sh >> daten.csv
[root@rechner]# cat daten.csv
07212222,,esfunzt,,,,,,,,,,
07212222,,esfunzt,,,,,,,zehner,,,
[root@rechner]# ./test.sh > daten.csv
[root@rechner]# cat daten.csv

__________________________________
Frage:
__________________________________
Will ich statt mit >> an die Datei anhängen,
die Datei mit > mit der einen Zeile überschreiben,
ist sie plötzlich leer.
Wieso?
Danke.

Antworten
Vorsicht bei Ausgabeumleitungen
Siegfried Schnieders (unangemeldet), Montag, 24. Juli 2017 10:35:31
Ein/Ausklappen

Es wirkt erst die Ausgabeumleitung ">" und erzeugt eine neue leere Datei, in diesem Fall mit dem Namen der vorhandenen Datei. Danach arbeitet das awk-Skrikt auf der leeren Datei.


Bewertung: 161 Punkte bei 11 Stimmen.
Den Beitrag bewerten: Gut / Schlecht
-
Re: Vorsicht bei Ausgabeumleitungen
Josef Federl (unangemeldet), Montag, 24. Juli 2017 12:11:26
Ein/Ausklappen

AHHH,
Das heist die Datei die von awk gelesen werden soll, wird kurz vorher durch das > dateiname.
mit ""
also NICHTS
überschrieben.
Habs kapiert
Danke.


Bewertung: 164 Punkte bei 18 Stimmen.
Den Beitrag bewerten: Gut / Schlecht

Ähnliche Artikel

  • Bash-Skripte prüfen lassen
  • Jo´s alternativer Desktop
    Wie Ihr Linux-Desktop aussieht, bestimmen allein Sie. Mit deskTOPia nehmen wir Sie regelmäßig mit auf die Reise ins Land der Window-Manager und Desktop-Umgebungen, stellen Nützliches und Farbenfrohes, Hingucker und hübsches Spielzeug vor. Nachdem die letzten beiden Artikel den einfachen Window-Manager wmxim heimischen Desktop integrierten, folgt nun der Aufbau eines eigenen Desktops ganz ohne GNOME oder KDE.
  • So läuft Miro 4.0 auch unter Ubuntu 11.04
    Aktuell gibt es vom neuen Miro 4.0 noch kein Ubuntu-Paket -- auch nicht im offiziellen PPA. Wir zeigen, wie man unter Ubuntu 11.04 den Quellcode übersetzt.
  • Zu Befehl: sort
    Ordnung ist das halbe Leben, auch auf der Kommandozeile. Mit dem Tool "sort" ordnen Sie Dateilisten und Programmausgaben. Wer will, fügt mit Hilfe dieses kleinen aber feinen Programms sogar mehrere Dateien sortiert zusammen.
  • Video zur Installation der Bash on Ubuntu
    In einer mehrteiligen Videoreihe erläutern Experten des Microsoft Developer Networks, wie die Bash auf Windows 10 funktioniert.

Aktuelle Fragen

Samsung VG-KBD1500 - Bluetooth-Tastatur mit Touchpad mit Xubuntu 16.04.2 LTS
Linux- & BSD-UserGroup im Weserbergland, 16.08.2017 19:16, 0 Antworten
Bin grad mit "meinem Latein am Ende" darum hier mal so in den Raum geworfen. Samsung VG-KBD1500 -...
Tails verbindet nicht mit WLan
Georg Vogel, 30.07.2017 15:06, 5 Antworten
Hallo zusammen! Habe mir von Linux Mint aus einen Tails USB-Stick erstellt. Läuft soweit gut,...
Genivi for Raspberry Pi 3
Sebastian Ortmanns, 28.07.2017 10:37, 1 Antworten
I try to build a Genivi Development Platform for Rasberry Pi 3. But I always get the failures bel...
Bash awk Verständnis-Frage
Josef Federl, 22.07.2017 17:46, 2 Antworten
#!/bin/bash # Skriptdateiname = test.sh spaltennummer=10 wert=zehner awk '{ $'$spaltennummer'...
Bash - verschachtelte Variablenersetzung, das geht doch eleganter als meine Lösung?
Josef Federl, 18.07.2017 20:24, 3 Antworten
#!/bin/bash #Ziel des Skriptes wird sein die ID zu extrahieren hier nur als Consolentest: root@...

Jetzt auf den Mailinglisten

Re: [EasyLinux-Ubuntu] bash Leerzeichen vor dem Curser
Uwe Herrmuth, 16.08.2017 21:56
Hallo Volker, Volker Borst schrieb am 16.08.2017 um 19:22: > > echo $PS1 > > ${debian_chr...
Re: [EasyLinux-Ubuntu] bash Leerzeichen vor dem Curser
Volker Borst, 16.08.2017 19:22
Hallo Uwe, > echo $PS1 ${debian_chroot:+($debian_chroot)}\u@\h:\w\$ Einen neuen Benutzer habe ich jet...
Re: [EasyLinux-Ubuntu] bash Leerzeichen vor dem Curser
Uwe Herrmuth, 16.08.2017 07:58
Hallo Volker, Volker schrieb am 12.08.2017 um 12:11: > Nach dem Aufrufen von 16.04 habe ich in der bash...
Re: [EasyLinux-Ubuntu] Internet Geschwindigkeit
Udo Teichmann, 14.08.2017 15:44
Am Sonntag, den 13.08.2017, 07:16 +0200 schrieb Alfred Zahlten: Hallo Alfred > > https://www.d...
Re: [EasyLinux-Ubuntu] Internet Geschwindigkeit
Alfred Zahlten, 13.08.2017 07:16
Am 12.08.2017 um 18:47 schrieb Udo Teichmann:> Am Samstag, den 12.08.2017, 08:47 +0200 schrieb Rainer: G...