![]() |
|
|
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 |
| Schneller Weg zu finden und ersetzen, helfen | jkl_jkl | Shell Programmierung und Scripting | 1 | 03-06-2008 07:41 AM |
| Perl: Suche nach String übergeben wurde, dann auf die Suche und Ersetzen von Text | Crypto | Shell Programmierung und Scripting | 4 | 01-04-2008 10:24 AM |
| Was ist der schnelle Weg, diese Dateien zu löschen? | tonyvirk | UNIX for Dummies Questions & Answers | 4 | 01-01-2008 08:02 PM |
| Notwendigkeit, Suchen und Ersetzen in mehreren Dateien im Verzeichnis-Hierarchie | umen | Shell Programmierung und Scripting | 3 | 12-24-2007 04:56 AM |
| Suchen und Ersetzen Multi-Text-Dateien in | marz | Shell Programmierung und Scripting | 10 | 10-10-2005 09:05 AM |
![]() |
|
|
LinkBack | Thread Tools | Suche diesen Thread | Rate Thread | Anzeige-Modi |
|
|
|
||||
|
schnelle Suchen und Ersetzen in allen Dateien
Hi
Ich brauche, um eine Zeichenkette in allen Dateien und ersetzen tht String mit Leerzeichen und die Notwendigkeit, alle Dateien in das selbe Verzeichnis wieder. Jetzt bin ich mit finden. /-name "*. dmp" | xargs perl -pi-e 's / \ \ n / / g' | sed 's /.$// g' aber jetzt ist es nicht redirrecting richtig. ihre Einnahme zu viel Zeit für diesen Vorgang. Gibt es einen Weg zu suchen und ersetzen Sie sehr schnell in allen tausend Dateien schnell und ohne Looping. |
|
||||
|
Dies entfernt \ n, ersetzt sie mit "" und dann Koteletten aus dem letzten Zeichen jeder Zeile und fügt ein Leerzeichen gibt. Kennen Sie dos2unix (oder dos2ux)?
Code:
find ./ -name "*.dmp" | xargs perl -pi -e 's/\\N/ /g; s/.$/ /g' Code:
cnt=0
find ./ -name "*.dmp" |\
while read file do
perl -pi -e 's/\\N/ /g; s/.$/ /g' $file &
cnt=$cnt+1
z=$(( $cnt % 10 ))
if [[ $z -eq 0 ]] ; then
wait
fi
done
wait
Zuletzt bearbeitet von vgersh99; am 01-25-2008 02:43 PM.. Grund: fehlende ']' |
|
||||
|
Wirklich, die Anforderungen sind lächerlich. Es gibt keinen Weg zum Suchen und Ersetzen nicht in Tausenden von Dateien schnell. Vielleicht finden Sie einige Möglichkeiten, um schneller als andere, aber nichts wird ein Wundermittel. Ich schlage vor, Sie versuchen Perls Inplace-Editor, geht es möglicherweise schneller als sed auch wenn ich nicht wirklich wissen.
|
![]() |
| Lesezeichen |
| Tags |
| Linux |
| Thread Tools | Suche diesen Thread |
| Anzeige-Modi | Rate this thread |
|
|