Ange filändelse för flera filer samtidigt ?
-
- Inlägg: 9
- Blev medlem: 21 aug 2009, 11:28
- OS: Ubuntu
- Utgåva: 16.04 Xenial Xerus LTS
Ange filändelse för flera filer samtidigt ?
Hej!
Efter att ha döpt om en del bildfiler med Gthumb så märkte jag lite senare att jag hade glömt att ange att filerna skulle ha filändelsen .jpg. Inget problem med att titta på filerna i ubuntu, men när jag skall browsa mappen i win xp, eller ska ladda upp filerna till tex fujidirekt för utskrift på papper så associerar inte dessa system filerna korrekt pga den saknade filäändelsen.
Jag vet att jag kan sitta och döpa om filerna "en och en" och därmed lägga till ändelsen .jpg via nautilus, men då det handlar om ett antal hundra bildfiler så undrar jag om om det finns något lättare sätt, genom något program, eller via terminal ge alla filer i en mapp en specifik filändelse ?
Kan någon hjälpa mig med detta I-lands problem ?
Efter att ha döpt om en del bildfiler med Gthumb så märkte jag lite senare att jag hade glömt att ange att filerna skulle ha filändelsen .jpg. Inget problem med att titta på filerna i ubuntu, men när jag skall browsa mappen i win xp, eller ska ladda upp filerna till tex fujidirekt för utskrift på papper så associerar inte dessa system filerna korrekt pga den saknade filäändelsen.
Jag vet att jag kan sitta och döpa om filerna "en och en" och därmed lägga till ändelsen .jpg via nautilus, men då det handlar om ett antal hundra bildfiler så undrar jag om om det finns något lättare sätt, genom något program, eller via terminal ge alla filer i en mapp en specifik filändelse ?
Kan någon hjälpa mig med detta I-lands problem ?
Re: Ange filändelse för flera filer samtidigt ?
Kod: Markera allt
for i in *; do mv $i $i.jpg; done
ǁ 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: Ange filändelse för flera filer samtidigt ?
Överkurs, men kan vara intressant ändå...dmz skrev:Kod: Markera allt
for i in *; do mv $i $i.jpg; done
Är man "dum" nog att ha "konstiga" tecken i sina filnamn (typ mellanrum och liknande) så vill man använda dubbelfnuttar runt $i för att det ska fungera. Och har man något filnamn som börjar med ett streck så måste man slänga in ./ framför $i (eller "--" direkt efter mv):
Kod: Markera allt
for i in *; do mv ./"$i" ./"$i".jpg; done
Kod: Markera allt
for i in *; do mv -- "$i" "$i".jpg; done
- Ulsak
- Inlägg: 4808
- Blev medlem: 06 aug 2007, 19:04
- OS: Ubuntu
- Utgåva: 22.04 Jammy Jellyfish LTS
- Ort: Göteborg
Re: Ange filändelse för flera filer samtidigt ?
nu erkänner jag villigt att jag fortfarande är i apstadiet vad det gäller terminal, bash och script. ( I allafall jmfrt med dmz och Konservburk) Men det där med att döpa filer "korrekt"* sitter som ett trauma ända sen den ljuva tiden med DOS och och primitiv hackande i html . Man lärde sig den hårda vägen att att undvika mellanslag, å, ä och ö.
Sålunda vågar jag inte döpa en fil till Min goda räksmörgås.jpg utan till min_goda_raksmorgas.jpg
*Nu går ju allt an även i linux
Sålunda vågar jag inte döpa en fil till Min goda räksmörgås.jpg utan till min_goda_raksmorgas.jpg
*Nu går ju allt an även i linux
Re: Ange filändelse för flera filer samtidigt ?
Överkurs, men nog så intressant ändåKonservburk skrev: (eller "--" direkt efter mv):

Anledningen till detta är då att filnamn med inledande "-" kommer att tolkas som en flagga för binären, i detta fall mv. "--" talar om för mv att inga fler flaggor skickas med.
ǁ A: Because it obfuscates the reading.
ǁ Q: Why is top posting so bad?
ǁ Q: Why is top posting so bad?
Re: Ange filändelse för flera filer samtidigt ?
Om man är sugen på en "icke-terminal"-lösning så har Thunar (som är filhanteraren i Xubuntu) en enormt fin liten "Byta namn"-dialog. Dock vet jag inte om det är så bra ide att installera Thunar i en vanlig Ubuntu, kan ju va så att den drar med sig en massa oönskat.
-
- Inlägg: 9
- Blev medlem: 21 aug 2009, 11:28
- OS: Ubuntu
- Utgåva: 16.04 Xenial Xerus LTS
Re: Ange filändelse för flera filer samtidigt ?
Tack så mycket för svaren, men detta ligger tyvärr lite över min "nivå" om man säger så.
Mappen som inehåller filerna heter gbg.
Ska jag gå in här för att köra kommandot: roger@roger-dell:~/Bilder/2009/gbg$
eller är det härifrån: roger@roger-dell:~/Bilder/2009$ ?
filerna i denna katalog heter: "gbg (1)" till och med "gbg (88)"
Vad exakt (vilket kommando) och var ( i vilken dir) ska köra det?
Jag har laborerat lite, och lyckats döpa om alla mappar som ligger i mappen 2009, så att samtilga mappnamn slutade på .jpg
Någon som vill ge sig an detta fallet?
Mappen som inehåller filerna heter gbg.
Ska jag gå in här för att köra kommandot: roger@roger-dell:~/Bilder/2009/gbg$
eller är det härifrån: roger@roger-dell:~/Bilder/2009$ ?
filerna i denna katalog heter: "gbg (1)" till och med "gbg (88)"
Vad exakt (vilket kommando) och var ( i vilken dir) ska köra det?
Jag har laborerat lite, och lyckats döpa om alla mappar som ligger i mappen 2009, så att samtilga mappnamn slutade på .jpg

Någon som vill ge sig an detta fallet?
- Konservburk
- Inlägg: 5919
- Blev medlem: 07 apr 2007, 22:28
Re: Ange filändelse för flera filer samtidigt ?
Om filerna ligger i ~/Bilder/2009/gbg så är det därifrån du ska köra kommandot. Alla filer (och underkataloger) som ligger i den katalogen får då ett nytt .jpg i slutet av filnamnet.
Vill man göra det här på "rätt" sätt så bör man egentligen ha med några villkor så att bara just jpeg-filer får .jpg i slutet av namnet och bara om de inte redan har det (annars blir det fil.jpg.jpg) och så bör man även se upp så att det inte råkar finnas en fil med det nya filnamnet, eftersom den då kommer att skrivas över.
Vill man göra det här på "rätt" sätt så bör man egentligen ha med några villkor så att bara just jpeg-filer får .jpg i slutet av namnet och bara om de inte redan har det (annars blir det fil.jpg.jpg) och så bör man även se upp så att det inte råkar finnas en fil med det nya filnamnet, eftersom den då kommer att skrivas över.
Kod: Markera allt
find -maxdepth 1 ! -iregex '.*\.jpe?g$' -type f \
-exec sh -c 'file -i "$0" | grep -q ": image/jpeg$" && mv -i "$0" "$0".jpg' {} \;
- perab
- Inlägg: 88
- Blev medlem: 21 jul 2008, 13:15
- OS: Ubuntu
- Utgåva: 22.04 Jammy Jellyfish LTS
- Ort: Hunnestad (Ystad)
Re: Ange filändelse för flera filer samtidigt ?
Själv använder jag alltid filhanteraren Krusader när jag är hemma på min Linux-dator (och, du har gissat rätt, givetvis Total Commander när jag är i "Winworld"). Med Krusader följer ett verktyg för att namnändra flera filer på en gång. Det heter krename. Det inledande k:et i både Krusader och krename avslöjar att det egentligen handlar om KDE-applikationer, men jag har funnit att de fungerar bra även i (min) Gnome-miljö, utan att det blir alltför mycket "hybrid-desktop".
De terminalbaserade lösningar som tidigare inläggsgivare har bidragit med, är betydligt snabbare och effektivare än ett grafiskt verktyg som krename, men som "newcomer" vill man kanske ha ett mer lättanvänt grafiskt verktyg. Krusader och krename finns i repositorierna.
Per
De terminalbaserade lösningar som tidigare inläggsgivare har bidragit med, är betydligt snabbare och effektivare än ett grafiskt verktyg som krename, men som "newcomer" vill man kanske ha ett mer lättanvänt grafiskt verktyg. Krusader och krename finns i repositorierna.
Per
Det enda säkra sättet att aldrig misslyckas - det är att inte göra någonting alls!
-
- Inlägg: 9
- Blev medlem: 21 aug 2009, 11:28
- OS: Ubuntu
- Utgåva: 16.04 Xenial Xerus LTS
Re: Ange filändelse för flera filer samtidigt ?
Så då var problemet löst!
Tack så mycket till alla som tagit sig tid med detta fall, jag använde kommandot från Konservburk. och detta fungerade klockrent!
Skall även ladda ner Krusader för att laborera med det. Än en gång tack till alla vänliga själar där ute.

Skall även ladda ner Krusader för att laborera med det. Än en gång tack till alla vänliga själar där ute.