![]() |
|
|
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 |
| Skriv ut och räkna de filer som hittas av hitta kommandot | amicon007 | Shell-programmering och Skript | 3 | 02-05-2009 12:38 |
| hitta kommandot medan loop - hur man får kontroll när inga filer hittas? | mavsman | Shell-programmering och Skript | 3 | 04-03-2008 12:44 |
| Filer i Lost + Found | spricks | UNIX for Dummies Frågor & Svar | 1 | 02-05-2008 11:26 |
| Övervakning en katalog för nya filer med. Xx och verkställande kommandot om funna | krkan | Shell-programmering och Skript | 4 | 03-14-2006 11:16 |
| variabel inte finns med loop? | douknownam | Shell-programmering och Skript | 2 | 09-27-2004 11:59 |
![]() |
|
|
LinkBack | Thread Tools | Sök i denna tråd | Rate Thread | Visningslägen |
|
|
|
||||
|
Gå igenom funna filer
Hej Jag försöker skriva ett manus som kommer loop genom alla filer som slutar på ". Txt" och be användare om de vill ta bort filen eller inte
Kod:
#this print out all files dir=/root/etc/ find $dir -name "*.txt" 1.txt 2.txt etc men vad jag verkligen vill är 1.txt bort (J / N): 2.txt bort (J / N): etc Jag har försökt loopar till exempel Kod:
for file $dir in "*.txt"; do echo "$file delete (y/n)" done |
|
||||
|
Först och främst tack för svaren, den uppsättning kommandon dont precis göra vad jag vill men unfornutely
@ radoulov Är det möjligt att ändra något för att be användaren första innan du tar bort, jag har försökt att leka med men cant lista ut korrekt syntax Kod:
find $dir -name "*.txt" -exec echo "delete y/n" {} \; read x {} \;
@ cfjohnson detta doesnt verkar för att söka rätt katalog hittade jag ett exempel som kommer att söka rätt dir t.ex. Kod:
for file in `find $dir -name "*.txt"`; do och sedan skriver ut filen ut två gånger dvs / etc / rymden inFilename är det ändå för att skriva ut som en? Tack igen Calypso |
|
||||
|
@ cfajohnson
Im rädd för att det fortfarande doesnt verkar fungera, nu skriptet tar ut alla utrymmen så när jag gör Kod:
find $dir -name "*.txt" | while IFS= read -r file; do mv -i $file `echo file | sed 's/ //g'` done / etc / ärende: Ingen sådan fil eller katalog Namn: Ingen sådan fil eller katalog |