Страница руководства для dd говорит:
of=FILE write to FILE instead of stdout
Теперь вы можете использовать специальный файл для вывода. Блочное устройство, такое как /dev/sda (целый «диск» )или /dev/sdaN (раздел ). dd
в любом случае заполнит, т.е. перезапишет ваш терминал/стандартный вывод, ваш файл или ваш раздел.
Способом управления этим может быть операнд seek=
, чтобы пропустить количество выходных блоков. Но вы не должны использовать раздел как ленточный накопитель!
Пример #4, на который вы ссылаетесь, хорошо показывает «тонкую» разницу между /dev/sda и /dev/sda1. В противном случае эта ссылка является просто базовой демонстрацией команды dd
. Вы можете «создать резервную копию» или «клонировать» «жесткий диск» с помощью dd
, но вы не можете легко «добавить данные».
Но для записи в зашифрованный раздел с помощью dd
? Как это работает?
Да, bs=1M
должно быть намного быстрее.
Добавляю этот старый Q :ДД и свободное пространство
Ну, не уверен, что это ваша проблема, но одной из возможных причин невозможности найти правильную строку являются две кодировки буквы é. Есть символ Unicode U+00E9 (латинская строчная буква E с острым знаком ), который сам по себе является целым глифом; и есть комбинация e
и U+0301 (Сочетание острого ударения ). Представления UTF -8 для них будут c3 a9
и 65 cc 81
в шестнадцатеричном формате.
Копирую текст из вашего вопроса, получается буква U+00E9.
Так:
$ grep ^patético file.txt # no output
$ grep ^patético file.txt
patético, ca. (Del lat. patheticus,...
И, конечно же, в зависимости от того, как настроена система, могут возникнуть проблемы с вводом символа в первую очередь, но вы можете обойти это с помощью чего-то вроде:
$ grep $'^pat\xc3\xa9tico' file.txt
patético, ca. (Del lat. patheticus,...
Преобразование в ISO 8859 -1 превращает его в один байт e9
, поэтому в локали C
для сопоставления будет достаточно одного .
. Хотя, по крайней мере, в моей системе с локалью UTF -8 одинокий байт e9
был бы недопустимым символом, и .
не соответствовал бы ему.
Хотя, конечно, это все еще недопустимый символ для моего терминала UTF -8, поэтому вывод выглядит следующим образом:
$ iconv -f utf8 -t latin1 file.txt | LC_ALL=C grep $'^pat.tico'
pat�tico, ca. (Del lat. patheticus,...
Некоторое время, если оно содержит лишние пробелы в начале, поэтому мы использовали подстановочный знак ниже
grep "[[:space:]]*\?patético," file
выход
patético, ca. (Del lat. patheticus, y este del gr. o, que impresiona, sensible). 1. adj. Que es capaz de mover y agitar el ánimo infundiéndole afectos vehementes, y con particularidad dolor, tristeza o melancolía.
Как предложил @cas, передача ввода utf -8 через iconv может помочь. Попробуйте
iconv -f utf-8 -t CP1252 rae.txt | grep -e '^patético'
Просто убедитесь, что консоль работает с кодовой страницей Win1252 или Latin1.
Протестировано с busybox -w32 v1.33 на Win10 и v1.29 на TinyCore10.
Если вы используете настоящую разновидность *nix, вам следует проверить и/или исправить кодовую страницу вашей консоли, как намекнул @Inian, чтобы она заработала.
Приложение
Обратите внимание, что вы можете не угадывать CharCodes букв в чистых 8-битных кодовых страницах, просто выполняя поиск
cat rae.txt | grep -e '^pat.tico'
или двумя (или сколько угодно )точками в UTF -8.
cat rae.txt | grep -e '^pat..tico'
Ваш пробег может отличаться.
ДА! СПАСИБО ВАМ, РЕБЯТА.:)
В итоге у меня получилось преобразовать файл из UTF-8
в ISO8859-1
. И использование регулярных выражений вместо подстановочных знаков. Я, наконец, получил определение, которое я ищу.
grep -e '^pat.tico'./rae-iso88591.txt
Урожайность
patético, ca. (Del lat. patheticus, y este del gr. o, que impresiona, sensible). 1. adj. Que es capaz de mover y agitar el ánimo infundiéndole afectos vehementes, y con particularidad dolor, tristeza o melancolía.