Linux: Linux-Forum Linux: Linux-Forum
planetoftech.de

Zurück   Linux: Linux-Forum > Linux-Forum: Programmierung > Linux Shell-Programmierung

Linux Shell-Programmierung

Shellscripte


» Forum-Navigation
Linux-Forum.de NEWS
Linux allgemein
Linux Hardware Fragen
Linux Distributionen
Linux-Forum: Desktop
Serverdienste unter Linux
Linux-Forum:...
Linux-Forum: Sonstiges
» Anmelden
Benutzername:

Kennwort:

Noch kein Mitglied?
Jetzt registrieren!
» Karten
» Benutzer (1.268)
» April 2014
Mo Di Mi Do Fr Sa So
31 1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 1234
» PC-Shop
Apple
Computer-Klassiker
Computer-Zubehör
Desktop-PCs &...
Drucker & Scanner
Hardware
Multimedia-Hardware
Netzwerk, Modems &...
 Notebooks & Netbooks
Notebookzubehör
Speichermedien
Tablet Computer &...
Für Bastler
Marktplatz durchsuchen
» Partnerseiten
Camping Forum
Camping, Wohnwagen, Wohnmobil - Forum
PraktikantIn Webbasierte Softwareentwicklung
Sie suchen ein Praktikum als PraktikantIn Webbasierte Softwareentwicklung ?
Wenn du dich kostenlos registrierst kannst du neue Themen verfassen, an Umfragen teilnehmen und vieles mehr. Falls Du bei der Registrierung oder Anmeldung Probleme hast, dann kontaktiere uns.

Antwort
 
Themen-Optionen
Alt 14.08.2008, 12:06   Dateien auflisten + ändern Beitrag #1
mkeil
 
Registriert seit: 14.08.2008
Beiträge: 5
Standard Dateien auflisten + ändern

Hi,

ich habe ca. 1300 Dateien die ich durchsuchen und bei positiven Ergebnis den Inhalt verändern will. Ich zeige Euch erstmal den Code:

Code:
#!/bin/bash
#
#
#
for f in *
do
	lang=`grep %begin $f | awk '{print $2}' | sed s/%// | tr -d " "`
	echo "$f - $lang" >> outl.txt
	case "$lang" in
		"cpp" | "c++" ) 
			#echo "c++ syntax --- $f --- $lang"
			echo "sed -i 's/%begin $lang%/%CODE{ lang="Cpp" }%/g;s/%end%/%ENDCODE%/g' $f"
			;;
		
		"java" )
			#echo "java syntax --- $f --- $lang"
			echo "sed -i 's/%begin $lang%/%CODE{ lang="Java" }%/g;s/%end%/%ENDCODE%/g' $f"
			;;
	esac
done

Ich lasse das Ergebnis ja auch noch in eine Testdatei schreiben, die sieht dann wie folgt aus wenn das gesuchte Wort öfter vorkommt:

Blabla.txt - cpp
cpp
cpp

Und dann haut das ganze mit dem case natürlich nicht hin, da er ja garnicht weiß um welche Datei es geht. Das Problem ist, dass er "Dateien" verschluckt in dennen das Wort _öfter_ vorkommt wenn ich nur die Datei und die Sprache ausgeben will. Er springt also garnicht in das Case. Ich schätze es liegt an der for-schleife. Gibts da eine ordentliche Lösung für?

Gruß
Marcel
mkeil ist offline   Mit Zitat antworten
Alt 14.08.2008, 14:19   Dateien auflisten + ändern Beitrag #2
TheBonsai
 
Benutzerbild von TheBonsai
 
Registriert seit: 10.12.2006
Beiträge: 6.958
Standard

An der for-Schleife? Soweit ich das sehen kann, liegt Dein Problem darin, dass $lang mehrere Zeilen enthält - also dass das grep das ''%begin'' mehrmals findet.

Setz doch mal zwischen dem grep und dem awk ein
Code:
... | sed '1!d' | ...
J.
TheBonsai ist offline   Mit Zitat antworten
Alt 14.08.2008, 15:28   Dateien auflisten + ändern Beitrag #3
mkeil
 Threadersteller 
 
Registriert seit: 14.08.2008
Beiträge: 5
Standard

Danke, das geht! Kannst Du mir bitte noch erklären was das sed genau macht?
mkeil ist offline   Mit Zitat antworten
Alt 14.08.2008, 15:37   Dateien auflisten + ändern Beitrag #4
TheBonsai
 
Benutzerbild von TheBonsai
 
Registriert seit: 10.12.2006
Beiträge: 6.958
Standard

Es löscht alles im Datenstrom, ausser die erste Zeile (ja, head geht da auch, aber ich finde es albern, sed ist da viel flexibler).

Basissyntax für sed:
Code:
[ADRESSE][!][KOMMANDO]
ADRESSE wäre hier "Zeile 1", das "alle ausser" (eine Art logisches NOT) Zeichen ("!") ist gegeben, das Kommando ist (d)elete.

--> 1!d: Lösche alle Zeilen, ausser die erste.

J.
TheBonsai ist offline   Mit Zitat antworten
Antwort

Zurück   Linux: Linux-Forum > Linux-Forum: Programmierung > Linux Shell-Programmierung

Lesezeichen

Stichworte
sed

Themen-Optionen


Ähnliche Themen zu Dateien auflisten + ändern
Thema Autor Forum Antworten Letzter Beitrag
Korrektes auflisten/abspielen/brennen von mp3-Dateien?
Korrektes auflisten/abspielen/brennen von mp3-Dateien?: Hallo, Ich wusste nicht so recht, wohin mit...
NoSpam Linux allgemein 0 10.10.2008 22:52
Fenstergröße ändern
Fenstergröße ändern: Hallo zusammen! Hab da wahrscheinlich ne...
Corelium Ubuntu Linux Ubuntu Linux 0 03.08.2008 13:49
MAC-Adresse ändern
MAC-Adresse ändern: Hallo erstmal also ich absoluter Linux-Neuling...
MasterIQ Netzwerk 2 08.07.2008 16:53
Ändern der Multicast TTL
Ändern der Multicast TTL: Hallo Zusammen! Wir wollen von einem SLES 10...
M.F.L. Netzwerk 3 20.03.2008 12:29
partitionen ändern
partitionen ändern: Hallo Ich bin Linux Anfänger und habe ein...
kem Linux Software Suche 1 13.01.2007 23:13

Weitere Themen von mkeil
Thema Datum Forum Antworten Letzter Beitrag
Dateien auflisten + ändern
Dateien auflisten + ändern: Hi, ich habe ca. 1300 Dateien die ich...
14.08.2008 Linux Shell-Programmierung 3 14.08.2008 15:37

Andere Themen im Forum Linux Shell-Programmierung
Thema Datum Autor Antworten Letzter Beitrag
auflistungen auschneiden
auflistungen auschneiden: Hallo! Habe mir die Dateinamen der Dateien welche...
21.02.2008 wthaler 2 21.02.2008 23:21
Namen aus dateien einlesen
Namen aus dateien einlesen: Hallo brauche wieder mal HIlfe! Habe einen...
21.02.2008 wthaler 1 21.02.2008 13:16
sed mag nicht/nur bedingt mit xml-Datei
sed mag nicht/nur bedingt mit xml-Datei: Hallo, ich möchte mit sed die Umlaute aus...
05.02.2008 crankdll 5 20.02.2008 13:17
daten aus db über website-formular in andere website schreiben?
daten aus db über website-formular in andere website schreiben?: Hallo, ich habe eine etwas andere Aufgabe zu...
20.02.2008 sunfy 7 20.02.2008 02:57
Shellscripting ?? :)
Shellscripting ?? :): Hi, Ich bin Auszubildender und hab die...
18.02.2008 DerKoenig 2 19.02.2008 20:53

Powered by vBadvanced CMPS v3.2.1

Alle Zeitangaben in WEZ +2. Es ist jetzt 05:14 Uhr.



Powered by vBulletin® Version 3.8.8 Beta 1 (Deutsch)
Copyright ©2000 - 2014, vBulletin Solutions, Inc.
Sie betrachten gerade Dateien auflisten + ändern.

SEO by vBSEO 3.3.0 ©2009, Crawlability, Inc.