Как заменить ведущие табуляции на 4 пробела с помощью sed?

Интеллектуальная технология появилась около десяти лет назад на магнитных дисках с внутренней регистрацией потенциальных проблем на поверхности. Вы используете SSD-диск, основанный на совершенно другой технологии (, ранее известной как электрически стираемое программируемое ПЗУ ). Данные записываются блоками, называемыми секторами на магнитном диске, в то время как на SSD данные записываются большими блоками, и прежде чем блок будет записан (, фактически запрограммирован ), он должен быть стерт. Стирание блока наносит небольшой ущерб элементам блока, поэтому микропрограмма пытается распределить записи (=стирания=повреждения )равномерно по всем блокам, поскольку количество операций записи в один и тот же блок ограничено (SLC около 100000 раз, MLC около 5000 раз, TLC только около 300 раз ).

Что ж, ошибки, сообщаемые с помощью smartctl, имеют другое значение для обеих основных технологий. На магнитном диске необходимо проверить Current_Pending_Sector, что указывает на плохую запись (, нечитаемость ), данные(ID 197Reallocated_sector_count(ID 5), что указывает на плохую магнитную поверхность, а такжеID 194Temperature_Celsius. В то время как в SSD ID 5переименовывается в Reallocate_NAND_Blk_Cnt, что показывает количество блоков вне времени жизни.

В обоих случаях простое наличие нескольких сбойных блоков (секторов )не обязательно означает, что диск вышел из строя. Проблема может быть как в том случае, когда вдруг появляется много неисправных блоков, так и в том, что их количество растет день ото дня.

Срок службы магнитного диска может быть увеличен при тщательном выборе хорошей марки и типа для предполагаемого использования (сервер 24x7, настольный компьютер, видеомагнитофон )и поддержке его в как можно более хорошем состоянии (вентилятор для понижения температуры, достаточной мощности, строго горизонтальное или вертикальное положение ).

Срок службы SSD-диска можно увеличить, выбрав SLC (медленнее, но лучше)-сегодня вы можете купить только MLC, но даже они могут иметь более длительный срок службы, чем TLC.И сделать любое возможное ограничение ненужной записи. Таким образом, вы должны переместить из него файл подкачки (pagefile.sys )на магнитный диск в качестве пользовательского каталога (дома )и файлов журнала. В Linux вы можете дополнительно добавить параметры монтирования noatime, nodiratime. И почаще делайте бекапы! Регулярная проверка смарт может быть полезной, но не может вернуть потерянные данные.

0
05.06.2021, 19:00
1 ответ

Это то, для чего expand, например. expand -t 4 file.txt.

expandне будет редактировать исходный файл, но вы можете перенаправить на новый файл и mvего поверх оригинала или использовать sponge, если он у вас установлен, например.

    expand -t 4 file.txt > file.new && mv file.new file.txt
or 
    expand -t 4 file.txt | sponge file.txt

К вашему сведению, см. unexpand, чтобы сделать обратное, преобразовать несколько пробелов в табуляцию.

Как expand, так и unexpandподдерживают использование вкладок фиксированной ширины -(, например. -t 4или -t 8и т. д.)или список позиций вкладок (, например.-t 4,12,32). У них также есть опции для преобразования только начальных ведущих пробелов/табуляции. Смотрите справочные страницы для деталей.


Дополнительную информацию о spongeсм. в man spongeи . Существует ли стандартная альтернатива губке для передачи файла в саму себя? . Короче говоря, он делает для вас перенаправление и mv, используя временный файл. Кстати, никогда не пытайтесь перенаправить стандартный вывод на тот же файл, который в настоящее время используется как стандартный ввод. Оболочка перезапишет его еще до того, как он будет прочитан.

spongeнаходится в пакете moreutils .


PS :См. также Отступ GNU или один из многих других подобных исходных -инструментов переформатирования кода.

3
28.07.2021, 11:26

Теги

Похожие вопросы