Portál AbcLinuxu, 13. května 2025 21:40
-d1.jpg
-d2.jpg
...
-d100.jpg
Chtel bych docilit jednim prikazem toho, aby byly prejmenovany do podoby bez pomlcky
d1.jpg
d2.jpg
...
d100.jpg
Pouziti rename 's/\-//' *
neni mozne, protoze bash chape kazdy soubor jako prepinac. Zkousel jsem i toto: for file in *jpg; do mv $file XXX$file; done
, ale interpret neni schopny to pochopit. Z druheho prikladu vyplyva, ze mi staci, kdyz docilim toho, aby ta pomlcka nebyla na zacatku find
s option exec
.
bash
(toho nějaká pomlčka nezajímá), ale samotný příkaz rename
resp. mv
. Řešením je buď použít '--
' na začátku seznamu jmen souborů (funguje u příkazů, které používají systémovou verzi getopt()
) nebo to zapsat tak, aby na začátku nebyla pomlčka, např. './*
' nebo './$file
'.
for F in *.jpg do mv "$F" "${F#-}" done
- mv "$F" "${F#-}" + mv -- "$F" "${F#-}"
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.