Sponsored Content
Top Forums Shell Programming and Scripting Bash: Zeilen aus Datei mit cat und grep in dynamisches Array schreiben Post 302339813 by ABE2202 on Friday 31st of July 2009 11:07:57 AM
Old 07-31-2009
Bash: Zeilen aus Datei mit cat und grep in dynamisches Array schreiben

Hallo,

ich habe eine Datei "Kino.ini" die z.B. wie folgt aussieht

* KINOFILM A
bla bla
KINOFILM B
blubb blubb
KINOFILM C

Ich möchte nun die Datei "Kino.ini" per cat und grep auslesen und testen ob der String KINOFILM nur mit einem '*' am Anfang vorkommt. In dieser Beispieldatei gibt es KINOFILM gleich zweimal OHNE '*' als erstes Zeichen einer Zeile. Die Bedingung sollte greifen und ich springe in die folgende Anweisung XY:

Ich würde nun mit
"cat Kino.ini| grep KINOFILM >> tmp_KINOFILM"
alle Zeilen mit KINOFILM in eine Zwischendatei speichern

* KINOFILM A
KINOFILM B
KINOFILM C

Ich habe nun aber folgende Probleme, da ich nur ein Bißchen ksh kann, aber nicht bsh:

1. Wie kann ich die Zeilen der Datei "tmp_KINOFILM" in ein VARIABEL langes / dynamisch allokiertes Array schreiben? (Es können mal 3, mal 5 oder 100 KINOFILME sein)
2. Wie kann ich das erste Zeichen eines Arrayelementes prüfen, ob es ein '*' ist?

Jetzt schon einmal vielen Dank für jede hilfreiche Antwort
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

need help with my implementation of cat in bash

Hello, A few days ago I created my amateur version of the cat function in bash. Here is what I've done: #!/bin/bash #This is mycat. Similar to cat. #For detailed information use path/to/mycat.sh -h option arguments=$# if ] #in case of standard input then while ] do read input... (4 Replies)
Discussion started by: sanchopansa
4 Replies

2. Shell Programming and Scripting

Read files, lines into array, cat vs open

Hi Everyone, I have a file: a.txt a,b,c,d,6,6,6 1,2,3,d,6,6,6 4,5,6,6,6,6,6 #!/usr/bin/perl use warnings; use strict; my @array = (); ### Load file into array for my $i (split '\n', `cat /tmp/a.txt`) { push @array, ; } It works. But my a.txt have 1million lines, and... (2 Replies)
Discussion started by: jimmy_y
2 Replies

3. Shell Programming and Scripting

cat -n and grep

I am not sure if using cat -n is the most efficient way to split a file into multiple files, one file per line in the source file. I thought using cat -n would make it easy to process the file because it produces an output that numbers each line that I could then grep for with the regex "^ *$i".... (3 Replies)
Discussion started by: kapu
3 Replies

4. Shell Programming and Scripting

mit Sed Text aus Datei nur nach dem ersten Treffer einfügen

Hello, I'm new in Shell scripting but i should write a script, which inserts the license header out of a txt-File into the files in our Projekt. For the Java classes it runs without Problems but for XML files not. At xml-files i have to put the license Header after the xml-Header (?xml... (2 Replies)
Discussion started by: PhoenixONE
2 Replies

5. Shell Programming and Scripting

Suchen und Ersetzen mit AWK

Hallo, ich habe mir mit meinen dürftigen Programmierkenntnissen ein Script zusammengebastelt über das ich in einem bestimmten Odner mit AWK alle Dateien eines Verzeichnis durchsuche und bestimmte Bezeichungen aller Dateien ändern kann. Es funktioniert auch soweit, nur hätte ich gerne auch die... (1 Reply)
Discussion started by: ruffi
1 Replies

6. Solaris

rdesktop zugriff auf W2K8R2 Farm mit NLB und Session Broke - server sent an unexpectedly long string

Hallo :-) Ich habe da ein Problem beim Zugriff von Solaris mittels rdesktop auf eine TS Farm unter W2K8R2 mit NLB und Session Broker. Ich bekomme folgende Fehlermeldung: user@sunray2xxx /h/user/Desktop 150 > rdesktop terminalserver WARNING: Remote desktop does not support colour... (1 Reply)
Discussion started by: chrischi1978
1 Replies

7. Shell Programming and Scripting

Bash Scripting - How to grep a file into an array

I have figured out how to grep the file like this: echo `grep $(date +'%Y-%m-%d') Cos-01.csv | cut -d',' -f1` The above line does echo the correct information from the lines in which my search criteria is found. Now I am trying to get that information (Yes, just one column of every line) into... (6 Replies)
Discussion started by: TwelveDays
6 Replies

8. Shell Programming and Scripting

How do I cat into an array or is it not possible?

Hi, Normally, I would do cat /etc/oratab | grep -v "^#" | grep -v "^*" > /tmp/oratab.00 while read line do echo $line done < /tmp/oratab.00I want to know whether it is possible to use an array instead of re-directing it to file? As a test, I did something like below: #!/bin/ksh ... (6 Replies)
Discussion started by: newbie_01
6 Replies

9. Shell Programming and Scripting

Bash 3.2 - Array / Regex - IF 3rd member in array ends in 5 digits then do somthing...

Trying to do some control flow parsing based on the index postion of an array member. Here is the pseudo code I am trying to write in (preferably in pure bash) where possible. I am thinking regex with do the trick, but need a little help. pesudo code if == ENDSINFIVEINTS ]]; then do... (4 Replies)
Discussion started by: briandanielz
4 Replies

10. Shell Programming and Scripting

Bash arrays: rebin/interpolate smaller array to large array

hello, i need a bit of help on how to do this effectively in bash without a lot of extra looping or massive switch/case i have a long array of M elements and a short array of N elements, so M > N always. M is not a multiple of N. for case 1, I want to stretch N to fit M arrayHuge H = (... (2 Replies)
Discussion started by: f77hack
2 Replies
DTAUS(1)																  DTAUS(1)

NAME
dtaus - Converter for DTAUS files SYNOPSIS
dtaus [ -d dtaus ] [ -c control ] [ -b begleit ] [ -l [begleit] ] [ -o kontroll ] -dtaus | -control DESCRIPTION
This program can read and write German DTAUS files. DTAUS is an semi-acronym for DatenTragerAUStausch. It is used by German credit insti- tutes in order to manage mass money exchanges between customer accounts and credit institutes. Due to its limited availability and usefulness most of the documentation is held in German. This program is only useful in Germany or for companies that act in Germany. For a complete description of the control file please refer to dtaus.txt and dtaus(5) from this distribution. OPTIONS
You have to specify exactly one of -dtaus or -control. -dtaus Liest die Kontrolldatei ein und erzeugt daraus die Bankdatei sowie alle anderen benotigten Dateien. -control Liest eine Bankdatei ein und erzeugt daraus die Kontrolldatei, dekodiert eine bereits erstellte Bankdatei. -d dtaus Explizite Angabe des Dateinamens fur die Bankdatei. Voreingestellt ist dtaus0.txt, was von der Bank als einziger Dateiname auf der Diskette erwartet wird. Fur Testzwecke oder zur Weiterverarbeitung darf hier die spezielle Datei ``-'' angegeben werden, wodurch dtaus angewiesen wird, auf die Standardausgabe zu schreiben. -c control Explizite Angabe des Dateinamens der Steuerdatei. Voreingestellt ist dtaus0.ctl. Da dieser Name jedoch nur intern verwendet wird, ist er keinen Beschrankungen unterlegen. In dieser Datei befinden sich die gesamten visuell lesbaren Informationen fur den Geld- verkehr. Diese Datei muB fur die Bank in das spezielle DTAUS-Format konvertiert werden. Das geschieht mit dem Schalter -dtaus. -b begleit Explizite Angabe des Dateinamens des Begleitzettels. Voreingestellt ist dtaus0.doc. Da dieser Name jedoch nur intern verwendet wird, ist er keinen Beschrankungen unterlegen. Diese Datei muB ausgedruckt und der Diskette unterschrieben beigelegt werden. -l [begleit] LaTeX-Ausgabe des Begleit-Zettels erwunscht. Diese Datei wird normalerweise nicht geschrieben. Voreingestellt ist dtaus0.tex als Dateiname, es kann jedoch ein anderer angegeben werden. Fur die Compilierung wird dtaus.cls benotigt. Diesem Programm liegt eine einfache Implementierung bei, idealerweise wird jedoch eine lokal angepaBte Klasse verwendet, die Kopf- und FuBzeilen mit Logos und Adressen realisiert. -o kontroll Explizite Angabe des Dateinamens fur die Kontrolldatei. Voreingestellt ist dtaus0.sik. Da dieser Name jedoch nur intern verwendet wird, ist er keinen Beschrankungen unterlegen. Es ist ratsam, diese Datei gut aufzubewahren oder auszudrucken und abzuheften. Dieses ist neben der Steuer- und Bankdatei die einzige Aufschlusselung des getatigten Geldverkehrs. BESCHREIBUNG
Deutsche Banken bieten fur GroBkunden oder Kunden mit vielen ahnlichen Uberweisungen oder Bankeinzugen (auch Lastschriften genannt) die Moglichkeit des papierlosen Geldverkehrs uber den Beleglosen Datentrageraustausch an. Hierbei wird nicht mehr fur jede Uberweisung oder jeden Einzug ein eigenes Formular benotigt, sondern zusammengehorige Auftrage werden in einer Massensendung verpackt gemeinsam verarbeitet. Hier ist jedoch Vorsicht geboten, denn auf dem eigenen Konto erscheint lediglich eine einzige Kontobewegung. Wenn Geld eingezogen wird, enthalt der Kontoauszug nur die Gesamtsumme, wenn Geld uberwiesen wird, ist auf dem Kontoauszug nur die Gesamtsumme notiert. Es ist daher immens wichtig, die Ursprungsdaten aufzubewahren bzw. die Kontrolldatei auszudrucken und abzuheften. Um an diesem Verfahren teilzunehmen, das den Geldverkehr fur Organisationen erheblich vereinfachen kann, muB mit der jeweiligen Bank eine gesonderte Vereinbarung getroffen werden, in der die speziellen Bestimmungen fur diesen Datentrageraustausch akzeptiert werden. Durch das einfache Format der Steuerdatei laBt sich dieses Verfahren leicht mit einer Datenbank oder einem groBeren Programm koppeln. In der Tat entstand das Programm nach Aufbau des ersten Wohnheimnetzes in Oldenburg (Oldbg.) und der ernuchternden Erkenntnis, daB die vom Kassenwart verwendeten Programme fur den Datentrageraustausch weder zuverlassig noch nachvollziehbar arbeiteten und somit Ersatz geschaffen werden muBte. Die technische und finanzielle Verwaltung des Wohnheimnetzes fand uber ein Linux-System mit Datenbankanbindung sowie dtaus statt. BESONDERHEITEN
Bei der Verwendung dieses Programms mussen wenigstens die folgenden Dinge beachtet werden, es sind Vorgaben von den beteiligten Banken. 1. Die Diskette muB mit dem MSDOS-Dateisystem beschrieben sein. 2. Auf einer Diskette darf nur eine einzige DTAUS-Datei enthalten sein, die den Dateinamen DTAUS0.TXT tragt. 3. Der Diskette muB ein Begleitzettel beigelegt werden, der einige Angaben erneut enthalt sowie personlich unterschrieben ist. Dieser Begleitzettel wird von dtaus automatisch erzeugt und voreingestellt in der Datei dtaus0.doc gespeichert, die nur noch ausgedruckt und unterschrieben werden muB. 4. Um den Beleglosen Datentrageraustausch nutzen zu konnen, muB vorher eine Zusatzvereinbarung mit der Bank getroffen werden. 5. Die Angaben zum Verwendungszweck haben sich ausschlieBlich auf den jeweiligen Zahlungsverkehrsvorgang zu beziehen. Verwen- dungszweckangaben durfen nicht die Ubermittlung einer gesonderten Nachricht auBerhalb des Zahlungsverkehrs (z.B. Rechnung, Lohn- und Gehaltsabrechnung) ersetzen. Werbetexte durfen in den Verwendungszweckangaben nicht enthalten sein. 6. Der Kunde ist verpflichtet, den Inhalt der von ihm gelieferten Datentrager mindestens fur einen Zeitraum von zehn Kalendertagen ab Einlieferung in der Form nachweisbar zu halten, daB dem Institut auf Anforderung kurzfristig besonders gekennzeichnete Duplikatsda- tentrager geliefert werden konnen. 7. Der Ruckruf eines Datentragers ist ausgeschlossen, sobald das Kreditinstitut mit dessen Verarbeitung begonnen hat. Einzelne Uberweisungen und Lastschriften konnen nach Verarbeitung eines Datentragers nur auBerhalb des Datentrageraustauschverfahrens zuruckgerufen werden. 8. Das Kreditinstitut fuhrt Konsistenzprufungen der auf dem Datentrager gespeicherten Datei durch. Schlagt diese fehl, konnen einzelne Datensatze von der Bearbeitung ausgeschlossen oder der gesamte Auftrag verworfen werden. 9. Ergeben sich bei der Kontrolle der Datentrager durch das Kreditinstitut Fehler, so wird es die fehlerhaften Datensatze in ihrem vollstandigen Inhalt nachweisen und sie dem Kunden unverzuglich mitteilen. 10. Das Kreditinstitut gibt dem Kunden die von ihm erhaltenen Datentrager zuruck. Sie konnen meistens schon am nachsten Werktag in der Filiale abgeholt werden. 11. Gutschriften und Belastungen, die auf einem an den Kunden ausgelieferten Datentrager enthalten sind, werden als Sammelbuchungen auf dem Konto des Kunden gebucht. 12. In einer Bankdatei kann ein Ausfuhrungsdatum angegeben werden, wenn die Bearbeitung der Diskette zu einem spateren Zeitpunkt als der Abgabe der Datei gewunscht wird. Dieses Datum darf jedoch nicht junger als das Erstellungsdatum (wird automatisch von dtaus eingefugt) sein und hochstens 15 Kalendertage uber dem Erstellungsdatum liegen. RETURN VALUES
On success, zero is returned. On error, 1 is returned. SEE ALSO
dtaus(5). DTAUS files use a special but simple and publically documented format. It is included in the distribution of dtaus as dtaus.txt. 17 November 2001 DTAUS(1)
All times are GMT -4. The time now is 05:10 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy