Zum Inhalt springen

Find Befehl im Bashskript funktioniert nicht wie gedacht


Freeed91

Empfohlene Beiträge

Hi Leute,

habe als kleine Uebungsaufgabe verschiedene Files (bei mir .core) rekursiv in meinem Homeverzeichniss zu suchen und zu löschen.

habe folgendes Skript entwickelt


for i in find ~/Uebung \*.core
do
rm $i 2> /dev/null
done
[/PHP]

auf Ordnerebene auf der das Skript ausgeführt wird funktioniert es tadellos jedoch fehlt der rekursive Durchgang. Im Internet habe ich mich informiert und da heißt es das FIND standartmäßig rekursiv arbeitet.

jedoch löscht er Dateien nicht wenn sie unterhalb von ~/Uebung liegen =(

hoffe ihr könnt mir bei diesem dämlichen Problem helfen.

Gruß Freeed

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hi,

du musst Backticks benutzen, wenn du möchtest dass die Ausgabe eines Befehls als Parameter oder Variable genutzt werden kann:


for i in `find ~/Uebung *.core`

do

   rm $i 2> /dev/null

done  

Vorsicht: Bei einem rm Befehl würde ich mir immer vorher die Ausgabe anzeigen lassen, damit du auch genau weisst was er löscht.

Link zu diesem Kommentar
Auf anderen Seiten teilen

man find

UNIX man pages : find ()

ACTIONS

-delete

Delete files; true if removal succeeded. If the removal failed,

an error message is issued. Use of this action automatically

turns on the '-depth' option.

-exec command ;

Execute command; true if 0 status is returned. All following

arguments to find are taken to be arguments to the command until

an argument consisting of ';' is encountered. The string '{}'

is replaced by the current file name being processed everywhere

it occurs in the arguments to the command, not just in arguments

where it is alone, as in some versions of find. Both of these

constructions might need to be escaped (with a '\') or quoted to

protect them from expansion by the shell. See the EXAMPLES sec-

tion for examples of the use of the '-exec' option. The speci-

fied command is run once for each matched file. The command is

executed in the starting directory. There are unavoidable

security problems surrounding use of the -exec option; you

should use the -execdir option instead.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...