Примерно так:
vimdiff <(find /home/masi -printf "%P %u:%g %m\n" | sort) <(find /home/masi_backup -printf "%P %u:%g %m\n" | sort)
(это дает имена без ведущего / home / masi
или / home / masi_backup
, владелец пользователя и группы, а также разрешения - последние не упоминались в вопросе, но кажутся полезными, отбросьте % m
, если они вам не нужны).
Вы можете использовать sed
для этого
$ sed -E 's|([0-9]{4})/([0-9]{2})/([0-9]{2})|\1-\2-\3|g' file
Попробуйте.
Чтобы отредактировать файл на месте, в macOS или FreeBSD добавьте параметр -i ''
. Большинству других sed
реализаций требуется только -i
, чтобы(-i.back
работал для обоих и сохранял оригинал с расширением .back
). В системах, где sed
не поддерживает редактирование места -, вы можете использовать perl -pi -e
вместо sed -E
(, который вдохновил теsed -i
).
Извините, это не сработало. Текст без изменений
Но это работало нормально...
perl -pi -e 's|([0-9]{4})/([0-9]{2})/([0-9]{2})|\1-\2-\3|g' file