temp; mv temp $ y; gjort, og det fungerte fint for å finne og erstatte strenger med navn etc. i alle" /> shell script for å finne og erstatte strengen i flere filer - The UNIX og Linux Forums
The UNIX and Linux Forums  
Hei og Velkommen fra USA til UNIX og Linux Forums! Takk for besøket og Delta i vårt globale samfunn.

Go Back   UNIX og Linux Forums > Top Forums > Shell programmering og Skripting
.
google unix.com



Shell programmering og Skripting Post spørsmål om ksh, csh, SH, Bash, Perl, PHP, SED, awk og ANDRE shell scripts og Shell skriptespråk her.

Mer UNIX og Linux Forum Emner Du kan finne nyttig
Tråd Tråd startet Forum Svar Siste innlegg
finne og erstatte strengen i en katalog filer koti_rama Shell programmering og Skripting 2 05-30-2008 03:48
Finn og erstatt en streng i flere filer pharos467 UNIX for Dummies Spørsmål og svar 2 11-05-2007 11:47
Søk og erstatt i flere filer (Shell script) jatins_s Shell programmering og Skripting 13 11-05-2007 02:11
Søk og erstatt-filer i flere mapper lodey Shell programmering og Skripting 6 09-28-2007 02:00
finne og FTP flere filer i Korn Shell lambjam UNIX for Dummies Spørsmål og svar 2 08-13-2007 10:50

 
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
LinkBack Thread Tools Søk i denne tråden Rate Thread Visningsmoduser
  #1 (permalink)  
Old 11-05-2007
pharos467 pharos467 is offline
Registrert bruker
  
 

Bli Dato: november 2007
Innlegg: 24
shell script for å finne og erstatte strengen i flere filer

Jeg brukte følgende skript


cd banenavn
for y i `ls *`;
gjøre sed "s / ABCD / DCBA / g" $ y> temp; mv temp $ y;
ferdig



og den arbeidet fin for å finne og erstatte strenger med navn etc. i alle filer av en gitt bane.

Jeg prøver å erstatte en streng som består av banen (plassering av arkiv)

si istedenfor ABCD jeg må erstatte c: / mydocuments / bilder
d: / mypics / personal, som metategn vilikke bli søkt i unix dette skriptet ikke klarer å erstatte strengen som har en bane i den.

nå meg script er


cd banenavn
for y i `ls *`;
gjøre sed "s / 'c: / MyDocuments / bilder' / 'd: / mypics / personlig' / g" $ y> temp; mv temp $ y;
ferdig





Jeg er lei gir banen i enkle anførselstegn og doble anførselstegn, men jeg ser feil

sed: Kommando rotete: s / 'c: / MyDocuments / bilder' / 'd: / mypics / personlig' / g


Og alt innholdet i filene i banen blir slettet.


Også prøvd følgende hjelp sed --


sed -e "s! AAA! BBB! g"
sed \u003d e "s + AAA + BBB + g"

som strengen er / i-plasseringen

Er det noen andre måter å arbeide dette.

Takk
 

Hugseliste

Thread Tools Søk i denne tråden
Søk i denne tråden:

Avansert søk
Visningsmoduser Ranger denne tråden
Ranger denne tråden:

Innleggsaktivitet Regler
Du kanskje ikke poste nye tråder
Du kanskje ikke poste svar
Du kanskje ikke post vedlegg
Du kanskje ikke redigere innleggene dine

BB-kode er
Smilefjes er
[IMG] koden
HTML-koden Av
Pingbacks er
Refbacks er




Alle klokkeslett er GMT -4. Nå er klokken 09:11.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Language Translations Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX og Linux Forums Content Copyright © 1993-2009. All Rights Reserved.Ad Management by RedTyger

Content Relevant nettadresser av vBSEO 3.2.0