Можно сделать вот так:

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

Дати відповідь електронним листом