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?
Använda resultat från sökning
- Konservburk
- Inlägg: 5919
- Blev medlem: 07 apr 2007, 22:28
Re: Använda resultat från sökning
Det finns två "bra" alternativ:
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
find -type f -exec cp -t /mike/ {} +
Kod: Markera allt
find -type f -print0 | xargs -r0 cp -t /mike/
Re: Använda resultat från sökning
Konservburk skrev:Det finns två "bra" alternativ:
Kod: Markera allt
find -type f -exec 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
find -type f -print0 | xargs -r0 cp -t /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.
ǁ A: Because it obfuscates the reading.
ǁ Q: Why is top posting so bad?
ǁ Q: Why is top posting so bad?
- Konservburk
- Inlägg: 5919
- Blev medlem: 07 apr 2007, 22:28
Re: Använda resultat från sökning
Jodå, den är bra den meddmz skrev:No?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.

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