[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Dateinamen kürzen



Frank Terbeck schrieb:
Dejan Milosavljevic <dejan@wavebone.net>:
  
Frank Terbeck schrieb:
    
for file in *.tar.gz.done ; do mv -i $file ${file%.done} ; done

      
Sorry, ich verstehe es nicht, auch wenns ein Einzeiler ist: Mein Auge 
bleibt immer am % in  ${file%.done}hängen - was hat es damit auf sich?
    
Ist ja nicht schlimm. Als erster Anlaufpunkt ist bei sowas immer die
Doku der Shell die man nutzt. Da sollte sowas auf jeden Fall erläutert
sein. Ich zitiere mal aus dem SUSv3 Standard:

[snip]
${parameter%word}
  Remove Smallest Suffix Pattern. The word shall be expanded to produce a
  pattern. The parameter expansion shall then result in parameter, with the
  smallest portion of the suffix matched by the pattern deleted.
[snap]

Gruss, Frank


  
Also bei mir funktionierts nicht. Es kommt folgende Fehlermeldung (benutze übrigens Sarge):

www:~/hilf# for file in *.tar.gz.done ; do mv -i $file $(file%.done) ; done
-bash: file%.done: command not found
mv: Fehlendes Dateiargument
,,mv --help" gibt weitere Informationen.
www:~/hilf# -bash: file%.done: command not found


Habe vorher ein Testfile angelegt (touch foo.tar.gz.done)

Und bei Dir gehts mit der Bash unter Debian? Wo ist nun der Unterschied zwischen unseren Shells?

Gruß
Dejan


Reply to: