Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst Frage zu Aktion print bei gawk

Mitglied: Kongootto

Kongootto (Level 1) - Jetzt verbinden

28.03.2012, aktualisiert 29.03.2012, 1922 Aufrufe, 1 Kommentar

Hallo Community,

mein Problem, welches mich verzeifeln, lässt bezieht sich auf die dynamische Auswertung einer .csv Datei durch gawk; anbei der betreffende Code:

01.
INFILE=${L2001HOME}/scripts/fibu/infile_uvnfin.csv 
02.
 
03.
cat $INFILE | while read line; do 
04.
        ANZAHL=`echo $line | gawk -F';' '{print NF}'`  #Anzahl der Wörter getrennt durch ; pro Zeile 
05.
        echo $ANZAHL 
06.
        for ((i=2; i<=$ANZAHL; i++)); do 
07.
                MANDANT=`echo $line | gawk -F';' '{print $i}'` #hier soll immer das i-te Wort pro Zeile ausgegeben werden ausgehende vom 2ten Wort 
08.
                echo $MANDANT 
09.
        done 
10.
done 
11.
 
Mir gelingt es einfach nicht das print $i beim Durchlauf der Schleife dynamisch mit gawk auszuwerten. Wenn ich print $2 oder $3 setzte habe ich zwar das Ergbenis was ich brauche; allerdings nicht dynmasich da eine Zeile 2..n Wörter enthalten kann.

Nachtrag: Ich habe auch schon sowas wie MANDANT=`echo $line | gawk -F';' '{print $"echo$i"}'` probiert; aber das haut nicht hin. Hat denn keiner eine Idee.


Ich hoffe jemand kann mir bei diesem, vermutlich ganz banalem, Problem helfen.

LG
Kongootto
Mitglied: Kongootto
29.03.2012 um 15:50 Uhr
Hallo,

hier nochmal der Verfasser: habe das Problem mitlerweile selbst gelöst: man kann gawk durch den Paramter -v eine Variable mitgeben; sieht dann in etwas so aus:

01.
cat $INFILE | while read line; do 
02.
        MANDANT=`echo $line | gawk -F';' '{print $1}'` #Mandantennummer der zu kopierenden Datei 
03.
        echo "Verteilen der Buchungslisten für Mandant $MANDANT:" >> $PROTO 
04.
 
05.
        #echo $line | gawk -F';' '{ for(i=2;i<=NF;i++)  print $i}' 
06.
        ZAEHLER=2 # die Listenverzeichnisse beginnen ab Spalte 2 
07.
        SPALTEN=`echo $line | gawk -F';' '{print NF}'` #Anzahl der Spalten 
08.
        while [ $ZAEHLER -le $SPALTEN ]; do #durchlaufen aller Spalten pro Zeile beginnend ab der 2ten 
09.
                LISTENVERZ=`echo $line | gawk -v PARAM="$ZAEHLER" -F';' '{print $PARAM}'` #Listernverzeichnis der aktuellen Spalte 
10.
                #echo $LISTENVERZ 
11.
                find -maxdepth 1 -type f  -name "*$MANDANT*"  -exec cp -v  \{\} /mnt/loga_app/listen/$LISTENVERZ/UVNFIN 1>>$PROTO 2>&1 \; 
12.
                ZAEHLER=$[$ZAEHLER+1] 
13.
        done 
14.
        echo "" >> $PROTO 
15.
done 
16.
 
Ist zwar nicht besonders schön aber funktioniert.

Falls jemand eine Idee hat wie man die ganze Funktionalität in awk abbildet, kann er sich ja nochmal melden.

Gruß
Kongootto
Bitte warten ..
Ähnliche Inhalte
Java

Frage zu Print When Expression im Jaspersoft Studio

Frage von helmuthelmut2000Java2 Kommentare

Hi, In einem Projekt in Jasper Report möchte ich folgendes ausgeben. Wenn zwei Felder auf einer Seite identisch sind, ...

Windows XP

Win-XP CMD - Rechnen mit gawk

gelöst Frage von rsadmchefWindows XP3 Kommentare

Hallo Team, Vorhanden ist ein XP-Rechner mit GNU-Tools sed und gawk und Clipboard-Tools. Situation: In der Windows Zwischenablage liegt ...

Windows 7

PDF-Printer

gelöst Frage von malikaWindows 79 Kommentare

Guten Tag, ich habe einen W7 Pro 64-Bit PC auf dem Adobe PDF Printer fehlt. Ich habe versucht einen ...

Batch & Shell

Abfrage nach Änderungsdatum + Aktion

Frage von hoffi3dBatch & Shell5 Kommentare

Hallo zusammen, ich benötige eine Batch Datei, die bei zwei Dateien(Name ist bekannt und immer gleich, im Ordner gibt ...

Neue Wissensbeiträge
Vmware
VMware Update für den ESXi 5.5 verfügbar
Information von sabines vor 10 StundenVmware

Nach dem ganzen Hickhack um Update mit Microcode Anpassungen und Rückzug, gibt es nun für den ESXi 5.5 ein ...

CPU, RAM, Mainboards

Meltdown und Spectre: Intel zieht Microcode-Updates für Prozessoren zurück

Information von keine-ahnung vor 14 StundenCPU, RAM, Mainboards5 Kommentare

Moin, extrem lutztig. Nur gut, dass ich noch nicht beim Probanden-Bingo mitgemacht habe :-) LG, Thomas

Router & Routing
PfSense als Addon auf QNAP
Information von magicteddy vor 1 TagRouter & Routing7 Kommentare

Moin, für Spielereien eine ganz nette Idee aber ich fürchte das soetwas auch als echte Firewall genutzt wird: In ...

Datenschutz

Teamviewer kommt für IoT-Geräte wie den Raspberry Pi

Information von magicteddy vor 1 TagDatenschutz1 Kommentar

Moin, jetzt werden IoT Geräte endgültig zur Wanze? Anscheinend kann man auf einem Dashboard seine Geräte visualisieren Ich stelle ...

Heiß diskutierte Inhalte
Netzwerkmanagement
Preis für Wartungsvertrag ok?
gelöst Frage von a-za-zNetzwerkmanagement26 Kommentare

Hallo! Mal ne Frage, weil ich mich mit dem akzeptablen Preis für einen Reaktionszeitvertrag nicht auskenne. Meine Firma hat ...

Windows Server
TEMP-Profile
gelöst Frage von Forseti2003Windows Server21 Kommentare

Guten Morgen, wer kennt sie nicht, die lieben Temporären Benutzerprofile, vorallem immer dann, wenn man sie am wenigsten braucht. ...

Multimedia & Zubehör
Welches Tablet für die Verkäufer?
Frage von Hendrik2586Multimedia & Zubehör15 Kommentare

Guten Morgen meine Lieben, vielleicht könnt ihr mir ja helfen. Es geht um unsere Außendienstmitarbeiter /Verkäufer. Sie sollen demnächst ...

Ubuntu
Ubuntu - Routing mit 2 Netzwerkkarten?
Frage von gabrixlUbuntu13 Kommentare

Hei Folgende Situation: Ich habe zwei virtuelle Maschinen: 1 - Server für DHCP, DNS und Routing - Netzwerkkarte 1: ...