Gå til innhold

for-løkke og mellomrom i filnavn


Anbefalte innlegg

Skal zippe en del kataloger og kjører følgende kommando:

 

for i in *; do

find -type d -name $i | zip -r $i -@

done

 

Dette går greit på kataloger som ikke har mellomrom i navnet, men fungerer ikke på kataloger med mellomrom.

 

Er det en måte å få for-løkka til å ta hensyn til mellomrommet, eller må jeg fjerne mellomrommet?

Lenke til kommentar
Videoannonse
Annonse
Eller, enda bedre, lær å bruk katalognavn uten mellomrom.

 

Burre

Enig!

 

Men her får ofte vi som konverter fra Windows til Linux et bittelite problem.

Først spanderer vi tiden det tar å brenne 20 DVD plater (backup altså). Så sletter vi alle partisjoner og installerer Linux med stort hell, og etter at disse 20 DVD platene er kopiert tilbake (som tar tid) så sitter vi der med en hel haug kataloger som har mellomrom i navnet:)

 

Been there done that:)

Lenke til kommentar
Det sliter jeg med og alle filene fra windowstiden med masse mellomrom. Noen som har en bra kombo-kommando som bytter ut alle mellomrom med _ rekursivt !!

Dette bash scriptet f.eks:

 

#!/bin/bash

space_to_underscore()
{
   if [ "$1" != "" ]; then
       cd "$1"
       if [ $? != 0 ]; then
           echo "Invalid directory \"$1\", aborting."
           exit;
       fi
   fi

   for f in *; do
       if [ "$f" != "*" ]; then
           newname=`echo "$f" | sed "s/ /_/g"`
           if [ "$newname" != "$f" ]; then
               mv "$f" "$newname"
           fi
       fi
   done

   for d in *; do
       if [ -d "$d" ]; then
           cd "$d"
           space_to_underscore
           cd ..
       fi
   done
}

space_to_underscore $1

Denne vil rekursivt endre alle mellom i filer og mapper til understrek.

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å
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...