Portál AbcLinuxu, 12. května 2025 11:22
/home/ussitema/public_html/furnituretable -> /home/ussitema/public_html/FURNITURETABLENo a jde o to ze rucne bych to delal hrozne dlouho, tak jestli by se na to nedal vytvorit nejaky jednoduchy scriptik? Dekuji
ln -s `ls | tr [A-Z] [a-z]` .
[root@server2 test]# ln -s `ls | tr [A-Z] [a-z]` . [root@server2 test]# ls aaa AAA bb ccc CCC [root@server2 test]# ls -l total 12 lrwxrwxrwx 1 root root 3 Feb 12 05:25 aaa -> aaa drwxr-xr-x 2 root root 4096 Feb 12 05:25 AAA drwxr-xr-x 2 root root 4096 Feb 12 05:25 bb lrwxrwxrwx 1 root root 3 Feb 12 05:25 ccc -> ccc drwxr-xr-x 2 root root 4096 Feb 12 05:25 CCC
#!/bin/bash
for i in *; do
ln -s $i `echo $i | tr [A-Z] [a-z]`
done
Na jeden řádek to pak je:
for i in *; do ln -s $i `echo $i | tr [A-Z] [a-z]`; done
#!/bin/bash #set -x for i in *; do if [[ -d "$i" && ! -L "$i" ]]; then lowercasedir=`echo "$i" | tr [A-Z] [a-z]` if [[ "$lowercasedir" != "$i" ]]; then if [[ ! -e "$lowercasedir" ]]; then ln -s "$i" "$lowercasedir" else dirinode=`ls -id "$i" | gawk '{print $1}'` if [[ ! -e "${lowercasedir}_${dirinode}" ]]; then ln -s "$i" "${lowercasedir}_${dirinode}" fi fi fi fi done
find
, ln
a tr
. U find
u použij parametr -exec
. Je to na jeden řádek.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.