Можно сделать вот так: for i in "find * | grep -v index.html"; do rm $i; done
!!! Здесь "find *" найдет все файлы в текущем каталоге, и в его подкаталогах, соответственно, эти файлы скормятс "rm"-у, и они их тоже удалит. Если этого нужно избежать, посмотрите опции find-a, чтобы он искал только файлы в текущем каталоге. 2010/2/1 Блохин Серегей <[email protected]>: > В консоле (bash) можно ли удалить все файлы в папке, кроме нужного(ых) > Например, у меня есть в папке файлы: > > t...@tubuntu:~/labs$ ls -l > итого 3392 > -rwxr-xr-x 1 tit tit 183 2009-10-19 09:02 di-g.bash > -rw-r--r-- 1 tit tit 71 2009-10-28 19:29 error > -rw-r--r-- 1 tit tit 9 2009-10-19 09:02 file > -rw-r--r-- 1 tit tit 1371 2010-02-01 14:05 index.html > -rw-r--r-- 1 tit tit 8639 2009-10-19 09:02 mailboxes_deny.txt > -rw-r--r-- 1 tit tit 9650 2009-10-19 09:02 mailboxes_deny.txt.stable > -rw-r--r-- 1 tit tit 1678760 2009-10-19 09:02 mailboxes.txt > -rw-r--r-- 1 tit tit 1716024 2009-10-19 09:02 mailboxes.txt.stable > -rw-r--r-- 1 tit tit 2371 2009-11-02 14:22 radio.html > -rwxr-xr-x 1 tit tit 8923 2009-10-20 16:56 sendspam.bash > -rw-r--r-- 1 tit tit 7355 2009-10-19 09:02 sendspam.bash~ > -rw-r--r-- 1 tit tit 594 2009-10-19 09:02 tz > > Надо удалить все файлы, кроме index.html. > Как это можно не слишком сложно реализовать? > Можно, конечно, извратиться что-нить вроде rm `ls | grep -v 'index.html'`, > но это же извращение. Или нет? > > > -- > ubuntu-ru mailing list > [email protected] > https://lists.ubuntu.com/mailman/listinfo/ubuntu-ru > > -- ubuntu-ru mailing list [email protected] https://lists.ubuntu.com/mailman/listinfo/ubuntu-ru
