The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Редактировние бинарных файлов больше 4 гиг"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [ Отслеживать ]

"Редактировние бинарных файлов больше 4 гиг"  
Сообщение от McLeod095 (??) on 22-Апр-08, 17:02 
Всем здрасте.
Есть сервак на нем есть некоторые файлы объемом больше 4 гиг.
Необходимо в каждом из них поменять одну строчку.
Файлы виртуальных машии vmware server.
ничем не могу их открыть на редактирование ни vi ни nano ни mcedit
На серваке иксов нет только консоль.

Народ подскажите как быстро открыть на редактирование.
Срочо нужна помощь.

Заранее всем спасибо.

Высказать мнение | Ответить | Правка | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Редактировние бинарных файлов больше 4 гиг"  
Сообщение от angra (??) on 22-Апр-08, 17:07 
Просмотр через less, редактирование через sed или perl.
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "Редактировние бинарных файлов больше 4 гиг"  
Сообщение от McLeod095 (??) on 22-Апр-08, 17:13 
>Просмотр через less, редактирование через sed или perl.

да конечно sed и perl это хорошо.
Но все таки нужно именно поменять одну строку вернее даже значение в строке типа с 6 на 4.
Я просто не представляю как через sed можно что то такое организовать.
Да знаю можно так
cet file | sed -e "s/выражение_1/выражение_2/" > file_new
Но это уж совсем долго.
При этом таких файлов много и времени это убьет тоже не мало.
Вот в far'e виндовом можно просто открыть его на редактирование поправить и сохранить.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "Редактировние бинарных файлов больше 4 гиг"  
Сообщение от angra (??) on 22-Апр-08, 17:46 
>да конечно sed и perl это хорошо.

Еще бы, таки мощные инструменты :)
>Но все таки нужно именно поменять одну строку вернее даже значение в
>строке типа с 6 на 4.
>Я просто не представляю как через sed можно что то такое организовать.
>Да знаю можно так
>cet file | sed -e "s/выражение_1/выражение_2/" > file_new
>Но это уж совсем долго.

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

>При этом таких файлов много и времени это убьет тоже не мало.

Вот при большом количестве файлов и рулят такие инстурменты как sed и perl, так как написали один раз, а дальше просто подставляете имена файлов.

>Вот в far'e виндовом можно просто открыть его на редактирование поправить и
>сохранить.

Вы это с файлами такого размера пробовали, хоть раз, особенно на fat32 :). Единственный вариант - редактирование в hex(если оно там вообще есть), в таком случае количество байт остается неизменным и можно переписывать небольшие куски. Кстати, посмотрите в сторону hexedit, возможно он вам подойдет, если вам таки надо изменить всего одну цифру. У него вроде даже ncurse интерфейс есть.


Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру