Skapa ett script för att finna vissa filtyper

Här diskuterar vi skal, kommandon och klassiska linuxverktyg.
Användarvisningsbild
skalman65
Inlägg: 1050
Blev medlem: 15 jan 2008, 23:18
OS: Annat GNU/Linux
Utgåva: 22.04 Jammy Jellyfish LTS
Ort: Kalix

Skapa ett script för att finna vissa filtyper

Inlägg av skalman65 »

Håller på med ett lite större städoperation, och har hittills använd kommandot

Kod: Markera allt

find /den/aktuella/målmappen -name \*.txt -exec mv {} /den/mapp/som_filerna_skall_flyttas_till/ \;


För att söka efter en viss filtyp samt flytta den till önskad mapp.

men vill nu skapa ett script och då kunna lägga in samtliga filtyper som det gäller.

min tanke är att det borde se ut något så här

Kod: Markera allt

#!/bin/bash
mkdir /home/användare/mapp
find /home/användare/sökmapp -name \
*.txt \
*.mp3 \
*.mp4 -exec mv {} /home/användare/mapp/ \;
Tänker jag rätt här?
Användarvisningsbild
skalman65
Inlägg: 1050
Blev medlem: 15 jan 2008, 23:18
OS: Annat GNU/Linux
Utgåva: 22.04 Jammy Jellyfish LTS
Ort: Kalix

Re: Skapa ett script för att finna vissa filtyper

Inlägg av skalman65 »

i mina försök så får jag upp följande felmeddelande

Kod: Markera allt

find: sökvägar måste komma före uttryck:


koden jag använder ser nu ut så här

Kod: Markera allt

#!/bin/bash
mkdir /home/erik/test
find /home/erik/1/ -name \
*.odt \
*.ods \
*.mp4 \
 -exec mv {} /home/erik/test/ \;
Någon som ser vad felet är
Användarvisningsbild
Mekaniserad Apelsin
Hedersmedlem
Inlägg: 3777
Blev medlem: 27 maj 2006, 12:24
OS: Ubuntu
Ort: Stockholm
Kontakt:

Re: Skapa ett script för att finna vissa filtyper

Inlägg av Mekaniserad Apelsin »

find:s test -name tar bara ett argument, du vill troligen ha ett -name framför varje instans av "*.end". find anser att alla tester ska vara uppfyllda för att det ska vara en träff dessutom.


#!/bin/bash
mkdir /home/erik/test
find /home/erik/1/ \
-iname "*.odt" \
-o -iname "*.ods" \
-o -iname "*.mp4" \
-exec mv "{}" /home/erik/test/ \;
More Mekaniserad at http://blippe.se.
Skriv svar

Återgå till "Terminalforum"