2

Я работаю на удаленной машине, дисковое пространство на машине HP-UNIX было 96%, поэтому я собирался уменьшить дисковое пространство, архивируя некоторые файлы "*.extract.sys" .

$find . "*extract.sys" -exec ls -lrt {} \;

Теперь вышеупомянутая запятая должна показывать файлы с расширением «extract.sys», но вместо этого я получаю файлы с расширением extract, некоторые каталоги и файлы с другим расширением.

почему это происходит? Я надеюсь, что это не из-за дискового пространства.

РЕДАКТИРОВАТЬ: Есть ли другой способ или я делаю какую-то ошибку / что-то упустил

1 ответ1

2

Вы хотите использовать опцию -name перед *extract.sys ; в противном случае это будет выглядеть в каталогах соответствия *extract.sys (в дополнение . , а что ищет файлы , соответствующие *extract.sys Также вы должны использовать одинарные кавычки вокруг *extract.sys вместо двойных кавычек, чтобы оболочка не воспринимала это как подстановочный знак. (Вы только хотите find чтобы рассматривать это как символ подстановки, а не как оболочку.)

find . -name '*extract.sys' -exec ...

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .