![]() |
|
|
google unix.com
|
|||||||
| Forums | S'inscrire | Forum Rules | Liens | Albums | FAQ | Liste des membres | Calendrier | Recherche | Aujourd'hui, les postes | Marquer les forums comme lus |
| De programmation et de script Shell Posez vos questions à propos de KSH, CSH, SH, BASH, PERL, PHP, SED, awk et d'autres scripts shell et les langages de script shell ici. |
Plus d'UNIX et Linux Forum Sujets Vous trouverez peut-être utile
|
||||
| Fil | Thread Starter | Forum | Réponses | Last Post |
| Fast façon de trouver et de le remplacer, l'aide | jkl_jkl | De programmation et de script Shell | 1 | 03-06-2008 07:41 AM |
| Perl: Recherche de chaîne de ligne, de recherche et remplacer du texte | Crypto | De programmation et de script Shell | 4 | 01-04-2008 10:24 AM |
| Quel est le moyen rapide pour supprimer ces fichiers? | tonyvirk | UNIX pour les nuls Questions et réponses | 4 | 01-01-2008 08:02 PM |
| Besoin de recherche et de remplacement dans plusieurs fichiers dans le répertoire hiérarchie | umen | De programmation et de script Shell | 3 | 12-24-2007 04:56 AM |
| Rechercher et remplacer plusieurs lignes de texte dans des fichiers | marz | De programmation et de script Shell | 10 | 10-10-2005 09:05 AM |
![]() |
|
|
LinkBack | Thread Tools | Recherche sur ce Thread | Rate Thread | Modes d'affichage |
|
|
|
||||
|
recherche rapide et de la remplacer dans tous les fichiers
Salut
J'ai besoin de trouver une chaîne dans tous les fichiers et remplacer tht chaîne de caractères avec espace et la nécessité de rediriger tous les fichiers dans le même répertoire nouveau. Maintenant, je suis en train d'utiliser find. /-name "*. dmp" | xargs perl -pi-e 's / \ \ n / / g' | sed 's /.$// g' mais maintenant ce n'est pas redirrecting correctement. sa prend trop de temps pour cette opération. Est-il possible de rechercher et de remplacer très rapidement dans tous les milliers de fichiers rapidement sans boucle. |
|
||||
|
Cela supprime \ N, le remplace par "" et ensuite les côtelettes sur le dernier caractère de chaque ligne et insère un espace. Connaissez-vous dos2unix (ou dos2ux)? Code:
find ./ -name "*.dmp" | xargs perl -pi -e 's/\\N/ /g; s/.$/ /g' Si vous voulez essayer de courir plus vite l'aide de processus d'arrière-plan: 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
Ce processus fonctionne dix dans le même temps, en arrière-plan. Et puis attend la fin. Le code que vous proivided ne remplace pas les caractères avec un espace Dernière édition par vgersh99; au 01.25.2008 02:43 PM.. Motif: missing ']' |
|
||||
|
Vraiment, les exigences sont ridicules. Il n'y a pas moyen de rechercher et de remplacer quoi que ce soit dans des milliers de fichiers rapidement. Vous trouverez peut-être à certains égards, plus vite que les autres, mais rien ne va être une solution miracle. Je vous suggère d'essayer perles place éditeur, il peut être plus rapide que sed bien que je ne sais pas vraiment.
|
![]() |
| Bookmarks |
| Tags |
| linux |
| Thread Tools | Recherche sur ce Thread |
| Modes d'affichage | Rate this thread |
|
|