Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: редактировать файл на сервере  (Прочитано 1475 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн goldskif

  • Автор темы
  • Активист
  • *
  • Сообщений: 527
    • Просмотр профиля
    • Альтернативные проекты
редактировать файл на сервере
« : 07 Февраля 2009, 00:55:08 »
Народ. Вот такая задача.
На сервере лежит файл в несколько десятков Мб. Как можно его обработатьскриптом - заменить в тексте одни слова другими. Открыть его может помешать лимит памяти.
Ubuntu дружелюбная система, но друзей  она, сцуко, выбирает сама...

Оффлайн Alsvartr

  • Активист
  • *
  • Сообщений: 779
  • The secret of the secret
    • Просмотр профиля
Re: редактировать файл на сервере
« Ответ #1 : 07 Февраля 2009, 03:08:28 »
Э, ну например набросать примитивный php-скрипт (или что там у вас на сервере доступно), который будет считывать файл частями побайтово и записывать туда же, либо в новый файл. Правда, тут еще актуально максимально доступное на сервере время исполнения скрипта, но и это можно обойти - запоминать постоянно текущий прогресс.

Оффлайн HoudiniWater

  • Любитель
  • *
  • Сообщений: 98
    • Просмотр профиля
Re: редактировать файл на сервере
« Ответ #2 : 07 Февраля 2009, 03:27:18 »
все можно решить в одну строчку:

sed -e 's/старое_слово/новое_слово/g' file_name

s означает - подстановку
g -- global -- по всему файлу
по умолчанию sed не меняет исходный файл, поэтому делаем так

sed -e 's/ward/word/g' old_file > new_file
« Последнее редактирование: 07 Февраля 2009, 03:40:22 от HoudiniWater »

Оффлайн wl

  • Старожил
  • *
  • Сообщений: 1393
    • Просмотр профиля
Re: редактировать файл на сервере
« Ответ #3 : 10 Февраля 2009, 02:27:03 »
vi может справиться.
На свете феньки есть такие, брат Горацио, которых лохи просто не секут. (Шекспир, "Гамлет", вольный перевод)

Оффлайн rubiсon

  • Активист
  • *
  • Сообщений: 285
  • u guys... srsly...
    • Просмотр профиля
Re: редактировать файл на сервере
« Ответ #4 : 10 Февраля 2009, 09:58:45 »

по умолчанию sed не меняет исходный файл, поэтому делаем так

sed --in-place -e 's/ward/word/g' file_name

Fix'd.
<Aoi-chan> everyone's first vi session. ^C^C^X^X^X^XquitqQ!qdammit[esc]qwertyuiopasdfghjkl;:xwhat

Оффлайн goldskif

  • Автор темы
  • Активист
  • *
  • Сообщений: 527
    • Просмотр профиля
    • Альтернативные проекты
Re: редактировать файл на сервере
« Ответ #5 : 12 Февраля 2009, 03:34:44 »
Э, ну например набросать примитивный php-скрипт (или что там у вас на сервере доступно), который будет считывать файл частями побайтово и записывать туда же, либо в новый файл. Правда, тут еще актуально максимально доступное на сервере время исполнения скрипта, но и это можно обойти - запоминать постоянно текущий прогресс.
А как на php прочитать файл построчно,  если сначала fopen и он ругается.
Ubuntu дружелюбная система, но друзей  она, сцуко, выбирает сама...

 

Страница сгенерирована за 0.017 секунд. Запросов: 22.