temp; mv temp $ y; getan und es funktionierte gut für Suchen und Ersetzen von Strings mit den Namen, etc. in allen" />
![]() |
|
|
Google unix.com
|
|||||||
| Foren | Registrieren | Forum-Regeln | Links | Alben | FAQ | Benutzerliste | Kalender | Suche | Die heutige Beiträge | Alle Foren als gelesen markieren |
| Shell Programmierung und Scripting Post Fragen zu ksh, csh, sh, bash, Perl, PHP, sed, awk und anderen Shell-Skripte und Shell-Scripting-Sprachen hier. |
Mehr UNIX-und Linux-Forum Themen Vielleicht finden Sie hilfreiche
|
||||
| Faden | Thread Starter | Forum | Antworten | Last Post |
| Suchen und Ersetzen von Strings in einem Verzeichnis Dateien | koti_rama | Shell Programmierung und Scripting | 2 | 05-30-2008 04:48 AM |
| Suchen und ersetzen eine Zeichenkette in mehreren Dateien | pharos467 | UNIX for Dummies Questions & Answers | 2 | 11-05-2007 11:47 PM |
| Suchen und Ersetzen in mehreren Dateien (Shell-Skript) | jatins_s | Shell Programmierung und Scripting | 13 | 11-05-2007 02:11 PM |
| Suchen und Ersetzen von Dateien in mehreren Ordnern | lodey | Shell Programmierung und Scripting | 6 | 09-28-2007 03:00 AM |
| finden und FTP mehrere Dateien in Korn Shell | lambjam | UNIX for Dummies Questions & Answers | 2 | 08-13-2007 11:50 PM |
![]() |
|
|
LinkBack | Thread Tools | Suche diesen Thread | Rate Thread | Anzeige-Modi |
|
|
|
||||
|
Shell-Skript zu finden und zu ersetzen String in mehreren Dateien
Ich habe das folgende Skript
cd Pfadname für Y in `ls *`; tun sed "s / ABCD / DCBA / g" $ y> temp; mv temp $ y; getan und es funktioniert zum Suchen und Ersetzen von Strings mit den Namen, usw. in allen Dateien von den vorgegebenen Pfad. Ich versuche, ersetzen eine Zeichenkette, die aus Pfad (Sitz der Datei) sagen, anstelle von ABCD zu ersetzen habe ich C: / mydocuments / Bilder zu d: / mypics persönliche, als Metazeichen werden nicht hast in Unix Dieses Skript ist nicht zu ersetzen, die Zeichenfolge, die einen Weg in sie. jetzt ist mein Skript cd Pfadname für Y in `ls *`; tun sed "s /" c: / mydocuments / Bilder "/" d: / mypics persönliche "/ g" $ y> temp; mv temp $ y; getan Ich müde, die den Pfad in einfache Anführungszeichen und doppelten Anführungszeichen, aber ich sehe Fehler sed: Verzerrter Befehl: s / "c: / mydocuments / Bilder" / "d: / mypics / personal / g Und alle Inhalte der Dateien in den Pfad gelöscht. Auch versucht die folgenden mit sed -- sed -e "s! AAA! BBB! g" sed \u003d e "s + AAA + BBB + G" wie die Zeichenkette / in der Datei-Pfad Gibt es einen anderen Weg zur Arbeit dies. Danke |
|
||||
|
Einfache Anführungszeichen zu normalen Zeichen, wenn innerhalb der doppelten Anführungszeichen. So können Sie dies:
echo "Das ist OK" und das ist nicht ein Fehler oder Open-Zitat. So setzen einfachen Anführungszeichen innerhalb eines börsennotierten sed-Ausdruck ist in Ordnung, ist aber nicht zitieren den Text zwischen ihnen. Der Code oben von Jean-Pierre sieht OK für mich. |
|
||||
|
Suchen und Ersetzen in Perl-Programmierung
#! / usr / bin /perl
bash # #. / ff.pl - prod \ / opt \ / WebSphere5 - cob \ / opt \ / was6mig \ / WebSphere5-base File:: Find; use Getopt:: Long; # $ dmPath \u003d "/ scratch / optcob / cells.dmgr.tmp"; # Ändern Sie die Basepath mit neuen Ort kopiert WAS5 kopiert. $ basePath \u003d "/ opt/IBM/WAS6.1/IBMIHS/CI_CNV_CRD_HTTPServer"; $ dmPath \u003d "/ DM5" # Machen Sie sich keine Sorgen zu diesem basePath $ \u003d "/ app/WebSphere6/profiles"; $ tmpf \u003d "/ tmp / tmpf"; Unter ModFileByRegex ( my ($ tok, $ repl, $ fpat, $ Path) \u003d (@_); my $ cnt \u003d 0; Unter fwanted ( -f & & $ File:: Find:: name \u003d ~ / $ fpat / & & do ( open (INF, $ File:: Find:: name) | | die "Can't open $ file:: Suchen:: Name: $!"; open (TMPF, "> $ tmpf") | | die "Can't open $ tmpf für das Schreiben: $!"; my @ input \u003d <INF>; my $ ändern \u003d grep (s / $ tok / $ repl / g) @ input; if ($ change> 0) ( Schließen INF; print @ TMPF Eingang; Schließen TMPF; print "Aktualisieren / Speichern Kopie $ File:: Suchen:: Name \ n"; umbenennen $ File:: Find:: name, $ File:: Suchen:: Name. ". org"; print "cp-p $ $ tmpf File:: Suchen:: Name \ n"; $ cnt + +; ) ) ) print "Suche von $ Pfad für $ tok in Dateien namens $ fpat \ n"; find (\ & fwanted, $ path); return ($ cnt); ) Unter findDirByRegex ( my ($ tok, $ repl, $ Path) \u003d (@_); my $ cnt \u003d 0; Unter wollte ( -d & & $ File:: Find:: name \u003d ~ / $ tok [\ w \ .]*?$/ & & Push @ DIRL, $ File:: Find:: name; ) print "Suche für Verzeichnisse von $ Pfad namens $ tok \ n"; find (\ & wanted, $ path); while ($ _ \u003d pop @ DIRL) ( $ src \u003d $ _; s / $ tok ([\ w \ .]*)?$/$ repl $ 1 /; print "umbenennen $ src, $ _ \ n"; umbenennen $ src, $ _ | | warn "nicht umbenennen letzte Datei, überprüfen Sie bitte"; $ cnt + +; ) return ($ cnt); ) optctl% \u003d (); GetOptions (\% optctl, "prod \u003d s", "cob \u003d s", "dmgr", "Basis"); print "Optionen: \ n \ n"; print "Pro-System (Quellsystem):". ($ optctl "Produkte"). "\ n"; print "COB (TARGET-System):". ($ optctl "COB"). "\ n"; print "Sie Deployment Manager \ n" if ($ optctl ( "dmgr") \u003d\u003d 1); print "Sie WebSphere Base \ n" if ($ optctl ( "base") \u003d\u003d 1); print "\ n \ n"; if ($ optctl ( "dmgr") \u003d\u003d 1) ( print "Aktualisierung Deployment Manager XML-Dateien \ n"; $ cnt \u003d ModFileByRegex ($ (optctl "Produkte"), ($ optctl "COB"), ".*", $ dmPath); print "$ cnt XML-Dateien wurden aktualisiert, \ n";) if ($ optctl ( "base") \u003d\u003d 1) ( print "Aktualisierung WebSphere Base-XML-Dateien \ n"; $ cnt \u003d ModFileByRegex ($ (optctl "Produkte"), ($ optctl "COB"), ".*", $ basePath); print "$ cnt XML-Dateien wurden aktualisiert, \ n";) if ($ optctl ( "dmgr") \u003d\u003d 1) ( print "Aktualisierung Deployment Manager Basisverzeichnis Namen \ n"; $ cnt \u003d findDirByRegex ($ (optctl "Produkte"), ($ optctl "COB"), $ dmPath); print "$ cnt Verzeichnisnamen aktualisiert \ n";) if ($ optctl ( "base") \u003d\u003d 1) ( print "Aktualisierung der WebSphere-Basis-Verzeichnis-Namen \ n"; $ cnt \u003d findDirByRegex ($ (optctl "Produkte"), ($ optctl "COB"), $ basePath); print "$ cnt Verzeichnisnamen aktualisiert \ n";) |
![]() |
| Lesezeichen |
| Thread Tools | Suche diesen Thread |
| Anzeige-Modi | Rate this thread |
|
|