LINUX.ORG.RU

Только что проверил:

find . -mtime +1 -maxdepth 1 -type f -exec basename {} \;

Всё работает, в чём проблема?

ejka
()
Ответ на: комментарий от ejka

Дело в том, что для подобного случая:

find . -mtime +1 -maxdepth 1 -type f ';' \
  -exec cp -f {} copy_of.`basename {}` ';'

basename возвращает имя файла с точкой и слешем.

Tsahes
() автор топика
Ответ на: комментарий от Tsahes

А всё потому, что в команде:

find -mtime +1 -maxdepth 1 -type f -exec cp -f {} copyof.`basename {}` \;

подстановка `...` выполняется _до_ выполнения find. А посему:

for i in `find -mtime +1 -maxdepth 1 -type f`; do cp -f $i copyof.`basename $i`; done

ejka
()

Если надо вывести только имена файлов, то:

find | awk -F '/' '{print $NF;}'

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.