Страницы

Поиск по вопросам

воскресенье, 29 марта 2020 г.

Составить команду при помощи dos2unix

#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. ЗЫ: для верности я бы всё же сделал потом переустановку всех пакетов.

Комментариев нет:

Отправить комментарий