#linux #bash
У меня в системе какое-то приложение напакостило и некоторые файлы превратила из LF в CR LF. И при этом она сделала это рандомно, т.е. нужно написать команду, которая нашла бы "испорченные" файлы и при помощи команды dos2unix.
Ответы
Ответ 1
На скорую руку на ум пришёл в голову (я употребил 2,5 фразеологизма подряд, а вам слабо?) такой однострок: find -type f \ -exec sh -c 'file -b --mime-type "$0" |grep text >/dev/null' '{}' \; \ -exec sh -c 'grep "$0" "$1" >/dev/null' "$(echo -ne '\r')" '{}' \; \ -print Первый -exec с помощью file определяет, что файл текстовый, а второй, что он содержит \r, но напрямую я бы это скармливать dos2unix'у не стал, а хотя бы пробежался бы глазами. И ещё некоторые файлы могут быть с концом строки Win изначально, например, какие-то файлы mono. ЗЫ: для верности я бы всё же сделал потом переустановку всех пакетов.
Комментариев нет:
Отправить комментарий