![]() |
|
|
google unix.com
|
|||||||
| Forums | Registrer | Forum Rules | Lenker | Album | FAQ | Medlemsliste | Kalender | Søke | Dagens innlegg | Marker forumene som lest |
| 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 |
| print samt telle filer funnet av finne kommandoen | amicon007 | Shell programmering og Skripting | 3 | 02-05-2009 12:38 |
| finne kommandoen mens loop - hvordan du får kontroll når ingen filer funnet? | mavsman | Shell programmering og Skripting | 3 | 04-03-2008 12:44 |
| Filer i Lost + Found | spricks | UNIX for Dummies Spørsmål og svar | 1 | 02-05-2008 11:26 |
| Overvåke en katalog for nye filer med. Xx og utføre kommandoen hvis funnet | krkan | Shell programmering og Skripting | 4 | 03-14-2006 11:16 |
| variabelen ikke funnet med loop? | douknownam | Shell programmering og Skripting | 2 | 09-27-2004 11:59 |
![]() |
|
|
LinkBack | Thread Tools | Søk i denne tråden | Rate Thread | Visningsmoduser |
|
|
|
||||
|
Loop gjennom filer som blir funnet
Hei Jeg prøver å skrive et script som vil sløyfe gjennom alle filer som slutter på ". Txt" og spørre brukeren om de ønsker å slette filen eller ikke Code:
#this print out all files dir=/root/etc/ find $dir -name "*.txt" utgang: 1.txt 2.txt osv. men det jeg virkelig ønsker er 1.txt sletter (J / N): 2.txt sletter (J / N): osv. Jeg har forsøkt looper for eksempel Code:
for file $dir in "*.txt"; do echo "$file delete (y/n)" done men ikke ut til at det fungerer, noen ideer er meget verdsatt takk |
|
||||
|
Først av alt takk for svar, vil det sett med kommandoer dont akkurat gjøre hva jeg vil om unfornutely @ radoulov Er det mulig å modifisere dette noe å spørre brukeren før sletting, har jeg prøver å spille rundt med, men skrånende finne ut riktig syntaks Code:
find $dir -name "*.txt" -exec echo "delete y/n" {} \; read x {} \;
@ cfjohnson dette ikke synes å søke riktig katalog, jeg fant et eksempel som vil søke riktig dir f.eks Code:
for file in `find $dir -name "*.txt"`; do Det eneste problemet er at noen filer ha mellomrom i navnene deres for eksempel "/ etc / space inFilename" og den skrives ut filen ut dobbelt dvs. / etc / space inFilename er det likevel å skrive den ut som en? Takk igjen Calypso |
|
||||
|
@ cfajohnson Im redd den fortsatt ikke ser ut til å fungere, nå skriptet tar ut alle mellomrom så når jeg gjør Code:
find $dir -name "*.txt" | while IFS= read -r file; do mv -i $file `echo file | sed 's/ //g'` done Jeg får følgende feil / etc / fil: Ingen slik fil eller katalog navn: Ingen slik fil eller katalog |
![]() |
| Hugseliste |
| Thread Tools | Søk i denne tråden |
| Visningsmoduser | Ranger denne tråden |
|
|