Gå til innhold

Forrandre mappe undermappe og filer -> lower case


Anbefalte innlegg

Satt i går og lekte meg litt med serveren min, men ble ekstremt sinna når jeg fant ut at jeg hadde mange mapper med nesten samme navn. Noe som gjorde at det ofte ble meget mye frem og tilbake for å komme inn i riktige mapper. Er en filserver med endel plass, mapper og filer, og tenkte jeg skulle prøve og rydde litt opp i rotet.

 

Er det et script eller lite program som kan kjøres på en mappe som gjør at alle filene og undermappene i mappen får lower case på hele navnet. Kjører ubuntu 5.04 hvis det finnes noen spesifikke programmer til dette. Kjører vnc server, så kan bruke GUI program hvis det er eneste løsning, men terminal basert er høyest på ønskelisten.

Endret av zeltex
Lenke til kommentar
Videoannonse
Annonse
Gjest Slettet-qfohT7

hei jeg lagde et lite shell script til deg, det renamer alle filer/mapper til lowercase. ok nå virker det ikke rekursivt, altså virker kun på en mappe av gangen. fikk litt problemer med å rename mappe, så plutselig var mappenavnet et annet for filene under, så jeg gadd ikke stresse med det.

Men kanskje det kan være til litt hjelp, evt en god start..

 

lagre dette som en tekstfil og gjør den kjørbar ellerns...forresten så tar det mappenavn som parameter hvis det skulle hjelpe..

 

#!/bin/bash

[ $# -eq 0 ] && set .

for i in $(ls $1); do

filnavn="$i"

nyfil=$(echo "$filnavn" | tr '[A-Z]' '[a-z]')

[ "$filnavn" != "$nyfil" ] && mv "$1/$filnavn" "$1/$nyfil"

done

Lenke til kommentar
Gjest Slettet-qfohT7

sitter og øver til eksamen på mandag, så derfor tester å lage disse scriptene bare for øvingens del (fint med en liten utfordring) ;=)

fikset litt på scriptet, nå skal det virke rekursivt og:

 

#!/bin/bash
[ $# -eq 0 ] && set .
for i in $(ls $1); do
filnavn="$i"
nyfil=$(echo "$filnavn" | tr '[A-Z]' '[a-z]')
[ -d $1/$filnavn ] && $0 $1/$filnavn
[ "$filnavn" != "$nyfil" ] && mv "$1/$filnavn" "$1/$nyfil"
done

 

men nå må scriptet gjennkjennes som en kommando (legg inn filen i en av PATH katalogene f.eks), fordi scriptet kaller nå seg selv hver gang det finner en mappe

god jul :=)

 

[EDIT]: ..men vær litt forsiktig å ikke kjør det fra toppnivå, ellers blir hele filsystemet ditt lowercase :p

Endret av Slettet-qfohT7
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...