Вы можете использовать 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
).
Для сценария 1 приведенная ниже команда будет работать, проверена и работает нормально
awk 'NR==FNR{a[$0];next}!($0 in a){print $0}' file1 file2 > diff
выход
5639166|99|COVER, DOME TRAY 12X20 PCRBN|COVER, CLEAR SIDE CU|T OUT W/ HINGED DOOR LID|A