Как определить, действительно ли cp -u скопировал файл?

Как говорится в названии, я ищу краткий способ проверить, был ли файл скопирован с использованием cp -u .

У меня есть небольшой скрипт оболочки, который обновляет довольно много файлов. В настоящий момент сценарий echo -сообщения содержит небольшое сообщение для каждого файла, который копируется.

Теперь я хочу изменить сценарий таким образом, чтобы echo только тогда, когда файл фактически обновлялся. Я проверил, если cp -u вернул код ошибки, если он не скопировал файл, но это не так.

Есть ли лучший способ, чем вручную сравнивать временные метки файлов?

  • Сравнение времени файла в ksh
  • Объединение файлов журналов с разными форматами временных меток
  • find-cnewer сломан на NTFS-3g?
  • Как найти дату создания файла?
  • получить исходную дату создания html-файла
  • Корреляция / var / log / * timestamps
  • Скопировать дату создания файла в метаданные в ffmpeg
  • Как отрегулировать временную метку Exif фотографии, используя дату в названии
  • One Solution collect form web for “Как определить, действительно ли cp -u скопировал файл?”

     if [ "$(cp -uv source destination)" != "" ]; then echo copied; else echo not copied; fi 

    Обновить

    Match "->" в подробном выводе cp. Это происходит только в том случае, если оно может быть успешно скопировано и если ваши имена файлов не содержат «->».

     if [[ "$(cp -uv source destination)" =~ \-\> ]]; then echo copied; else echo not copied; fi 
    Linux и Unix - лучшая ОС в мире.