Sortera filer in i mappar
Sortera filer in i mappar
Vilket är det bästa kommandot om man vill sortera filer in i mappar? Jag vill alltså inte bara använda titeln på filen för då kan jag ju använda 'mv' utan jag vill att terminalen kontrollerar vissa ord i filen(det är pdf-filer och textfiler) och med hjälp av det sorterar in i rätt mapp. Det bästa vore om jag kunde ha det booleskt så att sorteringen blir mera specifik. Kommandot 'sort' är väl bara för att sortera text i en textfil, inte att sortera filer in mappar vad jag förstår.
- Osprey
- Inlägg: 6310
- Blev medlem: 06 apr 2008, 00:09
- OS: Ubuntu
- Ort: Göteborg/Mölndal/Falkenberg
- Kontakt:
Re: Sortera filer in i mappar
Det där finns det nog inget färdigt kommando som klarar av, men däremot så är det rätt enkelt att "hacka ihop" ett script som fixar det...
Generellt så kan väl scriptet bli något som:...och att lägga till lite mer villkor så att du kan åstadkomma vilka booleska funktioner du vill, är ju inte så svårt...
Generellt så kan väl scriptet bli något som:
Kod: Markera allt
#! /bin/bash
#
for FILE in *; do
if [[ ! -d "$FILE" ]]; then
if [[ ! -z $(grep "sökbegrepp1" "$FILE") ]]; then
mv "$FILE" dir1
elif [[ ! -z $(grep "sökbegrepp2" "$FILE") ]]; then
mv "$FILE" dir2
elif [[ ! -z $(grep "sökbegrepp3" "$FILE") ]]; then
mv "$FILE" dir3
else
mv "$FILE" dir4
fi
fi
done
Agera genom att ta och behålla initiativet, ta de risker detta kräver...
http://www.enargo.com/it/
OpenVMS Shark - i Linux finns inte SYS$CMKRNL...
http://www.enargo.com/it/
OpenVMS Shark - i Linux finns inte SYS$CMKRNL...
Re: Sortera filer in i mappar
Ok tack Nu är jag inte bra på detta så det är inte helt klart för mig vad skriptet säger, men jag gissar att det uttrycker en disjunktion, hur uttrycker man ett tillägg av en konjunktion av söktermerna i pdf:en ?
- Osprey
- Inlägg: 6310
- Blev medlem: 06 apr 2008, 00:09
- OS: Ubuntu
- Ort: Göteborg/Mölndal/Falkenberg
- Kontakt:
Re: Sortera filer in i mappar
Det är bara att utforma begreppet i if-satsen så att det motsvarar det du vill uppnå med konjunktionen.
Logiska operatorer i bash är t.ex:
Logiska operatorer i bash är t.ex:
Kod: Markera allt
AND &&
OR ||
NOT !
XOR ^
Agera genom att ta och behålla initiativet, ta de risker detta kräver...
http://www.enargo.com/it/
OpenVMS Shark - i Linux finns inte SYS$CMKRNL...
http://www.enargo.com/it/
OpenVMS Shark - i Linux finns inte SYS$CMKRNL...
Re: Sortera filer in i mappar
Ok tack