![]() |
Hej och välkommen från USA till UNIX och Linux Forum! Tack för ditt besök och gå med i vår globala gemenskapen.
|
|
google unix.com
|
|||||||
| Forum | Registrera | Forum Regler | Länkar | Album | FAQ | Medlemslista | Kalender | Söka | Dagens inlägg | Markera forum som lästa |
| Shell-programmering och Skript Post frågor om ksh, CSH, SH, bash, PERL, PHP, sed, awk och andra skalskript och skal skriptspråk här. |
Mer UNIX och Linux Forum Ämnen Du kan hitta Helpful
|
||||
| Tråd | Thread Starter | Forum | Svar | Senaste Inlägg |
| Snabba sätt att hitta och ersätta hjälp | jkl_jkl | Shell-programmering och Skript | 1 | 03-06-2008 07:41 |
| Perl: Sök efter strängen online sedan söka och ersätta text | Crypto | Shell-programmering och Skript | 4 | 01-04-2008 10:24 |
| Vad är det för snabbt sätt att ta bort dessa filer? | tonyvirk | UNIX for Dummies Frågor & Svar | 4 | 01-01-2008 08:02 |
| Behovet av att söka och ersätta i flera filer i katalogen hierarki | umen | Shell-programmering och Skript | 3 | 12-24-2007 04:56 |
| Sök och ersätt med flera rader text i filer | Marz | Shell-programmering och Skript | 10 | 10-10-2005 08:05 |
![]() |
|
|
LinkBack | Thread Tools | Sök i denna tråd | Rate Thread | Visningslägen |
|
|
|
||||
|
snabbt att söka och ersätta i alla filer
Hej
Jag måste hitta ett snöre i alla filer och ersätta THT string med tomt utrymme och behovet av att rikta alla filer i samma katalog igen. nu jag brukar hitta. /-name "*. DMP" | xargs perl -pi-e 's / \ \ n / / g "| sed är /.$// g " men nu är det inte redirrecting ordentligt. det tar för mycket tid för operationen. Finns det något sätt att söka och ersätta mycket snabbt i alla tusen filer snabbt utan looping. |
|
||||
|
Detta undanröjer \ N, ersätter det med "" och sedan käft bort det sista tecknet på varje rad och infogar en plats där. Vet du om dos2unix (eller dos2ux)?
Kod:
find ./ -name "*.dmp" | xargs perl -pi -e 's/\\N/ /g; s/.$/ /g' Kod:
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
Senast redigerad av vgersh99; 01-25-2008 vid 02:43.. Orsak: saknas'] " |
|
||||
|
Verkligen, det är löjligt. Det finns inget sätt att söka och ersätta något i tusentals filer snabbt. Du kan hitta sätt att snabbare än andra, men ingenting kommer att bli en magisk kula. Jag föreslår att du försöker perls inplace editor, kan det gå snabbare än sed men jag vet inte riktigt.
|
![]() |
| Komihåglista |
| Taggar |
| linux |
| Thread Tools | Sök i denna tråd |
| Visningslägen | Betygsätt denna tråd |
|
|