sed или острота TR для удаления всех числовых цифр

Если Вашим "другом" не является NSA, инструменты, которые делают много случайных или перезаписи шаблона (поскольку DBAN, который рекомендуют другие, делает) являются излишеством - dd if=/dev/zero of=[your disk... make sure you get it right] bs=10M сотрет его так, чтобы это не могло быть восстановлено, не демонтируя диск и сканируя диски со специальным оборудованием.

Если Вы используете /dev/urandom вместо этого как Gilles предполагает, удостоверьтесь, что обнулили MBR позже так, чтобы таблица разделов и загрузочный код были чистыми, чтобы не перепутать BIOS или любые инструменты разделения: dd if=/dev/zero of=[disk] bs=512 count=1

4
07.03.2011, 03:32
2 ответа

Для удаления всех цифр вот, несколько возможностей:

tr -d 0-9 <old.txt >new.txt
tr -d '[:digit:]' <old.txt >new.txt
sed -e 's/[0-9]//g' <old.txt >new.txt

Если Вы просто хотите избавиться от номеров страниц, существует, вероятно, лучший regexp, который можно использовать, для распознавания просто тех цифр, которые являются номерами страниц. Например, если номера страниц будут всегда одними на строке за исключением пробела, то следующая команда удалит просто строки, содержащие только число, окруженное пробелом:

sed -e '/^ *[0-9]\+ *$/d' <old.txt >new.txt

(\+ расширение GNU; с некоторыми sed реализации, Вам, возможно, понадобится более длинная стандартная альтернатива: \{1,\} или используйте [0-9][0-9]*).

Вы не должны использовать командную строку для этого, все же. У любого промежуточного достойного редактора есть поиск regexp и заменяющие возможности.

6
27.01.2020, 20:51
  • 1
    Что относительно sed -ibak -e 's/[0-9]//g' file.txt? –  D.Shawley 07.03.2011, 21:27
  • 2
    должен любить тот синтаксис TR. кто бы ни записал, что программа была родственным духом, я воображаю, потому что я лично всегда находил sed и grep бельмо на глазу. я знаю, что не должен использовать командную строку. в эти дни я автоматически возвращаюсь к CL после того, как определенное число щелчков (возможно, 3) требуется для чего-то, потому что я знаю позже, что для меня будет полезно знать, как сделать так..., но спасибо за sed управляет, чтобы Вы дали в конце, потому что честно я хотел бы освоить regex, и это будет служить мне значительно, и всех команд выше это - на самом деле то, которое я закончу тем, что использовал. название команды символа –  ixtmixilix 21.03.2011, 23:12

Я верю тому, что Вы ищете:

tr -d 0-9
1
27.01.2020, 20:51
  • 1
    tr -d '[0-9]' удалил бы скобки также. tr -d [0-9] обычно удаляет скобки и цифры, но может сделать что-то еще, если существует файл, имя которого является единственной цифрой в текущем каталоге. –  Gilles 'SO- stop being evil' 07.03.2011, 03:06

Теги

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