Portál AbcLinuxu, 10. května 2025 05:31
....slozka .sl.o.z..ka s.l.o.z.k.a. nejak...a..slozka mujadres.ar jeden..den..doma
find . -name '*.*' -type d
aby to neslo rekurzivne, lze pridat -maxdepth 1, ale potom by to slo i jednoduseji forem v bashi
pokud to chceš hromadně přejmenovávat, jde třeba i tohle:
find . -name '*.*' -not -name '.*' -type d -depth | while read DIR; do
NEWDIR=$(echo "$DIR"|sed -e 's/\.//g') # odstraneni tecek
NEWDIR=$(echo "$DIR"|sed -e 's/\./_/g') # nebo nahrazeni podtrzitky
mv "$DIR" "$NEWDIR"
done
Samozřejmě tohle jde provést 100 a jedním způsobem, tohle je jenom příklad.
NEWDIR="${DIR//./}" NEWDIR="${DIR//./_}"
mzk@mzk-laptop:~/test/bad_name$ find . -name '*.*' -not -name '.*' -type d -depth | while read DIR; do > NEWDIR=$(echo "$DIR"|sed -e 's/\.//g') # odstraneni tecek > NEWDIR=$(echo "$DIR"|sed -e 's/\./_/g') # nebo nahrazeni podtrzitky > mv "$DIR" "$NEWDIR" > done find: warning: you have specified the -depth option after a non-option argument -name, but options are not positional (-depth affects tests specified before it as well as those specified after it). Please specify options before other arguments. mv: cannot move `./Danka.S' to `_/Danka_S': No such file or directory mv: cannot move `./A.D.I.D.A.S' to `_/A_D_I_D_A_S': No such file or directory mv: cannot move `./bera.x' to `_/bera_x': No such file or directory
DIR="${DIR#./}" NEWDIR="${DIR//./}"prip.
DIR="${DIR#./}" NEWDIR="${DIR//./_}"
[/home/mzk/libko/bad_name]# find . -name '*.*' -not -name '.*' -type d -depth | while read DIR; do > DIR="${DIR#./}" > NEWDIR="${DIR//./_}" > mv "$DIR" "$NEWDIR" > done find: warning: you have specified the -depth option after a non-option argument -name, but options are not positional (-depth affects tests specified before it as well as those specified after it). Please specify options before other arguments. mv: invalid option -- . Try `mv --help' for more information. mv: cannot move `Angel.pusinka/V.I.P' to `Angel_pusinka/V_I_P': No such file or directory mv: invalid option -- . Try `mv --help' for more information.
Black.ang3l -Hanicek- -.LiNDusHkAaa.- Plisacek.1
black.nigga -Haniska91- --Lolitka-- -Radushka-
bloncka.s Helus.R _LoVeLy...PrInCeSs_ Red.Rose.2
mzk@mzk-laptop:~/test/bad_name$ rename . '' *
Unknown option: A
Unknown option: I
Unknown option: R
Unknown option: I
Unknown option: N
Unknown option: K
Unknown option: A
Usage: rename [-v] [-n] [-f] perlexpr [filenames]
rename . '' -- *
[/home/mzk/libko/bad_name]# rename . '' -- * syntax error at (eval 1) line 1, near "."
$ for i in `ls *.*`; do NEW=`echo "$i" | sed 's/\./_/g'`; mv "$i" "$NEW"; done
$ find . -maxdepth 1 -iname "*.*" -not -name ".*" -print | while read DIR; do NEW=`echo $DIR | sed 's/\./_/g'`; mv "$DIR" "$NEW"; done
[@mozek]-[/home/mzk/libko/bad_name]# for i in `ls *.*`; do NEW=`echo "$i" | sed 's/\./_/g'`; mv "$i" "$NEW"; done ls: invalid option -- . Try `ls --help' for more information. [@mozek]-[/home/mzk/libko/bad_name]# find . -maxdepth 1 -iname "*.*" -not -name ".*" -print | while read DIR; do NEW=`echo $DIR | sed 's/\./_/g'`; mv "$DIR" "$NEW"; done mv: cannot move `./-.LiNDusHkAaa.-' to `_/-_LiNDusHkAaa_-': No such file or directory mv: cannot move `./-.Weunka_prdelka.-' to `_/-_Weunka_prdelka_-': No such file or directory
$ for i in `/bin/ls *.*`; do NEW=`echo "$i" | sed 's/\./_/g'`; mv "$i" "$NEW"; donealebo
$ find ./ -maxdepth 1 -iname "*.*" -not -name ".*" -print | while read DIR; do NEW=`echo $DIR | sed 's/\.\///' | sed 's/\./_/g'`; mv "$DIR" "$NEW"; donealebo
$ find ./ -maxdepth 1 -iname "*.*" -not -name ".*" -print | while read DIR; do NEW=`echo $DIR | sed -n 's/[^/]*\///p' | sed 's/\./_/g'`; mv "$DIR" "$NEW"; done
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.