Sida 1 av 1

Använda resultat från sökning

Postat: 19 dec 2008, 14:55
av flierman
Hej

Om jag vill skapa ett script som ska göra detta?

1. Leta filer som är använda inom x antal dagar, användaren får skriva in antal dagar
2. kopiera dessa filer till en mapp som heter "mike"

jag har kommit så här långt:
#!/bin/bash
echo "how many days back search?"
read days
find -atime $days

Hur gör jag för att ta resultatet av find vilket är en massa filer och t.e.x kopiera dessa filer till en mapp som heter mike?
D.v.s hur gör jag för att utföra något med de filer som är resultatet av sökningen...det kan vara kopiera dem eller ta bort dem eller vad som helst...förstår inte hur jag ska "ta tag" i resultatet av sökningen och göra något med det? grep?

Re: Använda resultat från sökning

Postat: 19 dec 2008, 15:15
av Konservburk
Det finns två "bra" alternativ:

Kod: Markera allt

find -type f -exec cp -t /mike/ {} +

Kod: Markera allt

find -type f -print0 | xargs -r0 cp -t /mike/
Ersätt cp -t /mike/ om du vill göra något annat med filerna än att kopiera dem till katalogen /mike/.

Re: Använda resultat från sökning

Postat: 19 dec 2008, 15:18
av dmz
Konservburk skrev:Det finns två "bra" alternativ:

Kod: Markera allt

find -type f -exec cp -t /mike/ {} +

Kod: Markera allt

find -type f -print0 | xargs -r0 cp -t /mike/
Ersätt cp -t /mike/ om du vill göra något annat med filerna än att kopiera dem till katalogen /mike/.

Kod: Markera allt

-execdir command {} +
              Like -exec, but the specified command is run from the subdirectory containing the matched file, which  is  not
              normally the directory in which you started find.
No?

Re: Använda resultat från sökning

Postat: 19 dec 2008, 15:37
av Konservburk
dmz skrev:

Kod: Markera allt

-execdir command {} +
              Like -exec, but the specified command is run from the subdirectory containing the matched file, which  is  not
              normally the directory in which you started find.
No?
Jodå, den är bra den med :)

Men jag räknar den till find -exec familjen, tillsammans med find -exec {} \; och find -execdir {} \;.