Moderator: SlashBeast

Code: Select all
let i=0
find . -type f -printf "%f\n" | (while read plik
do
mv $plik $i
let i++
done)
Proponuje backup przywrocic jesli takowy masz - bo chyba to jakas grubsza sprawa jest.Garrappachc wrote:Hm... Dzięki. Właśnie rozwaliłeś mi połowę systemu ^^
Sam to rozwiązałem skryptem, którego teraz nie pokażę, gdyż nie odpala mi się żaden menedżer plików (nawet konsola). Problem mam z plikami, które mają spację w nazwie - polecenie ls, którym się wspomogłem przy tworzeniu tabeli nie uzupełnia ich blackslashem... Apostrofy nic tu nie dają.

Code: Select all
[root][garrappachc] # thunar
No protocol specified
Thunar: Nie można otworzyć ekranu:
[root][garrappachc] # chromium
No protocol specified
(chrome:17983): Gtk-WARNING **: cannot open display: :0.0
[root][garrappachc] # 

Code: Select all
znal@znal ~/test $ ls
znal@znal ~/test $ touch a b c d e
znal@znal ~/test $ let i=0
znal@znal ~/test $ find . -type f -printf "%f\n" | (while read plik
> do
> mv $plik $i
> let i++
> done)
znal@znal ~/test $ ls
0 1 2 3 4
znal@znal ~/test $ ls /
bin dev home lost+found opt root sys usr
boot etc lib mnt proc sbin tmp varMoze zrob na przyszlosc backupa, zebys nie musial znowu przechodzic nerwowego utrzymywania linuxa przy zyciu bo po reboocie moze byc problemGarrappachc wrote:Niee... Odpaliłem to w katalogu ~/Obrazy/Tapety. Właśnie zauważyłem, że pozmieniało mi nazwy plików w katalogu głównym. Jakieś cyfry... A co otwieram to jakiś .conkyrc, .Xdefaults... A w podkatalogach nic nie pozmieniało. Podeślijwa mi swój .Xauthority, żebym miał do czego porównać. Proszę.
EDIT: Udało się, przywróciłem .Xauthority, wsio wróciło do normy (tylko configi mam pod innymi nazwami, ale to się będzie systematycznie uzupełniało). Wracając do sedna problemu - jak zrobić ten skrypcik?

Code: Select all
#!/bin/bash
tablica=(`ls /home/garrappachc/Obrazy/Tapety/`)
ilosc=${#tablica[@]}
for (( i=1; $i<=$ilosc; i++ )) ; do
mv "/home/garrappachc/Obrazy/Tapety/${tablica[$i]}" "/home/garrappachc/Obrazy/Tapety/$i" && echo ${tablica[$i]}
done