Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

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

windows, sed, grep - suchen und ersetzen in dateien batch im verzeichnis rekursiv

Frage Entwicklung Batch & Shell

Mitglied: micneu

micneu (Level 2) - Jetzt verbinden

19.04.2009, aktualisiert 00:36 Uhr, 16525 Aufrufe, 4 Kommentare

Hallo Leute,

Ich benötige euere unterstützung.
Ich muß in einigen *.ini Dateien nach bestimmten wörtern suchen und die *.ini Dateien liegen alle in verschachtelten verzeichnissen.
Das suchen und erstezen will ich in einerm BATCH erledigen das es auf ca. 50 Computern gemacht werden muß ;-(
Das ganze sind windows rechner.
Habt ihr eine Idee wie ich es mit Board mitteln am windows rechner machen kann, habe auch versucht mit sed und grep zu machen.

habe versucht mit sed und grep aber kein erfolg.

grep:

damit bekomme ich schonmal den pfad der dateien:

01.
 
02.
grep -r -l FileMax= *
sed:

hiermit bekomme ich wenn ich im verzeichnis der datei bin die richtige zeiler ausgegeben:

01.
 
02.
sed -n "/40000/p" *.ini
habe es versucht mit einer for schleife:

01.
 
02.
for /R %cd% %f in (*.ini) do sed -n "/40000/p %f
oder mit einer kombination von GREP und SED:

01.
 
02.
grep -r -l FileMax= B* | sed -n "/FileMax=/p"
nur bekomme ich keine ausgabe.

wie könnte ich sowas "einfach" lösen????

hoffe mir kann jemand helfen.
Mitglied: Biber
19.04.2009 um 01:32 Uhr
Moin micneu,

ich bin noch etwas unsicher, ob Du
  • Dich im Moment auf das Suchen der relevanten beschränken willst
  • oder tatsächlich bestimmte Zeilen ersetzen willst
  • und falls ja, ob Du das per Cmd-Prompt oder per Batch abfackeln willst.
Irgenwie passen die Ankündigungen in Deinem Beitrag (Suchen und Ersetzen per Batch) und die Beispielzeilen (Anzeigen der Fund-Zeilen mit Zeilennummer per CMD-Line) nicht so ganz übereinander.

Also: Kompromissangebot.
Wenn Du vom CMD-Prompt aus mit einer Kombination von FOR /R und Sed diese FileMax-Einträge ersetzen willst, dann
01.
FOR /R . %f in (*.ini) do Sed -e 's/FileMax=.*/FileMax=1234/g' "%f"
Ungetestet, aber soll gemäß Plan bewirken
FOR /R . %f in (*.ini) do
---> Allen *.ini-Dateien, im folgenden %f genannt, unterhalb des aktuellen Verzeichnisses, tue folgendes an
Sed -e 's/FileMax=.*/FileMax=1234/g' "%f"
--> -e editiere
--> und zwar switche/ersetze alle Strings "FileMax=beliebige Zeichen" durch "FileMax=1234
-->und zwar in allen Dateien "%f", die ich in Hochkomma gesetzt habe, falls Leerzeichen in Pfad oder Dateinamen sind.

Falls Du mehrere (verschiedene) Zeilen ersetzen willst, dann solltest Du die ganzen einzelnen AlteZeile/NeueZeile-Anweisungen in eine separate Textdatei schreiben und sed mit Parameter -f Textdateiaufrufen.

Grüße
Biber
Bitte warten ..
Mitglied: miniversum
19.04.2009 um 10:02 Uhr
Wenn es mit Boardmitteln erledigt werden soll kannst du aber sed nicht verwenden. Oder ist das auf allen Rechnern vorhanden? Sonst entweder das sed umgehen mit Boardmitteln oder als exe mitliefern.
Bitte warten ..
Mitglied: Biber
01.05.2009 um 18:21 Uhr
Moin micneu,

besteht Deinerseits noch Interesse an diesem Beitrag oder soll ich den zu den anderen ungeklärten Fällen umbetten?

Grüße
Biber
Bitte warten ..
Mitglied: micneu
04.05.2009 um 17:27 Uhr
Danke ich habe die Lösung.....

FOR /R . %%f in (*ons.ini) do Sed -i.bak "s/FileMax=200000/FileMax=40000/g;s/Preserved=1Preserved=0/g" "%%f"


danke .....
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst Dateien in einem Verzeichnis mergen - rekursiv (10)

Frage von frad1980 zum Thema Batch & Shell ...

Entwicklung
gelöst Verzeichnise sichern mit batch datei (Win10) (13)

Frage von Limbach zum Thema Entwicklung ...

Batch & Shell
gelöst Suchen und Ersetzen mehrerer Suchbegriffe per Batch (4)

Frage von makroll10 zum Thema Batch & Shell ...

Batch & Shell
gelöst Dateien aus CSV mit Batch suchen (5)

Frage von joes1609 zum Thema Batch & Shell ...

Neue Wissensbeiträge
Windows 10

Heise Newsticker: Microsoft veröffentlicht das "Fall Creators Update

(7)

Information von Penny.Cilin zum Thema Windows 10 ...

LAN, WAN, Wireless

Schwachstelle im WPA2 Protokoll veröffentlicht

(3)

Information von colinardo zum Thema LAN, WAN, Wireless ...

Heiß diskutierte Inhalte
Windows Server
gelöst Gruppenrichtlinie greift nicht zu! (23)

Frage von Syosse zum Thema Windows Server ...

Windows 7
gelöst Windows 7 Anmeldedomäne festlegen (13)

Frage von flotaut zum Thema Windows 7 ...

Hosting & Housing
Mailserver Software Empfehlungen (12)

Frage von sunics zum Thema Hosting & Housing ...