![]() |
|
|
Google unix.com
|
|||||||
| Foren | Registrieren | Forum-Regeln | Links | Alben | FAQ | Benutzerliste | Kalender | Suche | Die heutige Beiträge | Alle Foren als gelesen markieren |
| Shell Programmierung und Scripting Post Fragen zu ksh, csh, sh, bash, Perl, PHP, sed, awk und anderen Shell-Skripte und Shell-Scripting-Sprachen hier. |
Mehr UNIX-und Linux-Forum Themen Vielleicht finden Sie hilfreiche
|
||||
| Faden | Thread Starter | Forum | Antworten | Last Post |
| print sowie Anzahl der gefundenen Dateien von FIND-Kommando | amicon007 | Shell Programmierung und Scripting | 3 | 02-05-2009 12:38 PM |
| FIND-Kommando in der while-Schleife - Wie kommt man, wenn keine Dateien gefunden? | mavsman | Shell Programmierung und Scripting | 3 | 04-03-2008 12:44 PM |
| Files in Lost + Found | spricks | UNIX for Dummies Questions & Answers | 1 | 02-05-2008 11:26 AM |
| Überwachung ein Verzeichnis für die neuen Dateien mit der Endung. Xx und Durchführung Befehl gefunden, wenn | krkan | Shell Programmierung und Scripting | 4 | 03-14-2006 11:16 PM |
| Variable nicht mit Loop? | douknownam | Shell Programmierung und Scripting | 2 | 09-27-2004 11:59 AM |
![]() |
|
|
LinkBack | Thread Tools | Suche diesen Thread | Rate Thread | Anzeige-Modi |
|
|
|
||||
|
Loop durch gefundenen Dateien
Hi Ich versuche, ein Skript schreiben, die Schleife durch alle Dateien mit der Endung ". Txt" und Benutzer fragen, wenn sie wollen, um die Datei zu löschen oder nicht Code:
#this print out all files dir=/root/etc/ find $dir -name "*.txt" Ausgang: 1.txt 2.txt etc Aber was ich wirklich will, ist 1.txt löschen (J / N): 2.txt löschen (J / N): etc Ich habe versucht Loops zum Beispiel Code:
for file $dir in "*.txt"; do echo "$file delete (y/n)" done aber keine scheinen zu funktionieren, alle Ideen sind sehr dank |
|
||||
|
Zunächst einmal Dank für die Antworten, die Menge der Befehle dont genau das tun, was ich will aber unfornutely @ radoulov Ist es möglich, diese etwas zu fragen, die zuerst vor dem Löschen, habe ich versucht zu spielen, sondern kann mit etwa herauszufinden, korrekte Syntax Code:
find $dir -name "*.txt" -exec echo "delete y/n" {} \; read x {} \;
@ cfjohnson dieser doesnt offenbar das richtige Verzeichnis suchen, fand ich ein Beispiel, die Suche der richtigen dir zB Code:
for file in `find $dir -name "*.txt"`; do Das Problem ist nur, dass einige Dateien sind Räume, in deren Namen zum Beispiel "/ etc / Raum infilename" und dann druckt es die Datei zweimal dh / etc / space infilename ist es überhaupt zu drucken Sie es aus wie ein? Nochmals vielen Dank Calypso |
|
||||
|
@ cfajohnson Im doesnt fürchte, es noch zu funktionieren scheint, nun das Skript nimmt alle Räume so, wenn ich Code:
find $dir -name "*.txt" | while IFS= read -r file; do mv -i $file `echo file | sed 's/ //g'` done bekomme ich nur die folgenden Fehler / etc / Datei: Keine solche Datei oder ein Verzeichnis Name: Keine solche Datei oder ein Verzeichnis |
![]() |
| Lesezeichen |
| Thread Tools | Suche diesen Thread |
| Anzeige-Modi | Rate this thread |
|
|