Модераторы: powerfox, ZeeLax
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Поиск и массовая правка файлов через консоль, И как создать фтп аккаунт через ssh 
:(
    Опции темы
jizzle
Дата 28.10.2011, 12:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 28.10.2011

Репутация: нет
Всего: нет



Здравствуйте.

Я недавно пользуюсь Centos, вот у меня 2 вопроса, подскажите пожалуйста.

1. Как (наверное, при помощи find) найти все файлы с расширением .html и выполнить в них php инклуд в определённом месте? допустим номер строки или между тегами <body></body> хотя бы. Так вышло, что долгое время свой сайт писал на html - всё в отдельном файле, ни одного инклуда, вручную я замучаюсь smile

Я знаю, например, такой вариант - он добавляет в конец файла

Код

find . -name '*.html' -print0 | xargs -0 sed -i '$a<?php include 
($_SERVER['\''DOCUMENT_ROOT'\''].'\''/dir/dir/dir/file.php'\'');?>'


А как сделать в нужном месте или хотя бы в тегах <body></body>? Какие вообще есть варианты работы с файлами таким образом?

2. Подскажите, как создать ФТП аккаунт для пользователя? Какая это команда?
PM MAIL   Вверх
newbee
Дата 28.10.2011, 13:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бревно
**


Профиль
Группа: Участник
Сообщений: 703
Регистрация: 24.8.2011

Репутация: 6
Всего: 19



1. Вставляем в N-ую строку:
Код

find . -type f -and -name "*\.html" | while read f; do head -n$(expr $N - 1) $f > /tmp/$$;\
 echo "include('filename.php')" >> /tmp/$$; tail -n+$N $f >> /tmp/$$; mv /tmp/$$ $f; done

Между body тоже можно, сначала найди позицию вхождения <body> в файл, потом самую малость модифицируй мой скрипт, прочитав man-ы по head и tail (они умеют работать не только со строками, но ис байтами).

2. Установи ftp-сервер.

Это сообщение отредактировал(а) newbee - 28.10.2011, 13:31


--------------------
You're face to face
With man who sold the world
PM   Вверх
bilbobagginz
Дата 28.10.2011, 16:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Naughtius Maximus
****


Профиль
Группа: Экс. модератор
Сообщений: 8813
Регистрация: 2.3.2004
Где: Israel

Репутация: 113
Всего: 317



еще одна причина изучать python.


--------------------
Я ещё не демон. Я только учусь.
PM WWW   Вверх
jizzle
Дата 28.10.2011, 23:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 28.10.2011

Репутация: нет
Всего: нет



newbee, спасибо за ответ.

А твой скрипт, если его так вставить - как выполнит, в каком месте? Я не очень хорошо разбираюсь, только учусь. Определить позицию вхождения <body> - это как?

Такой результат получил на выполнение

Код

expr: syntax error
sh:  : command not found
tail: invalid option -- n
Try `tail --help' for more information.


На счёт фтп, я имел в виду создать фтп аккаунт через SSH. Типа как adduser.

Это сообщение отредактировал(а) jizzle - 29.10.2011, 00:01
PM MAIL   Вверх
bilbobagginz
Дата 29.10.2011, 02:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Naughtius Maximus
****


Профиль
Группа: Экс. модератор
Сообщений: 8813
Регистрация: 2.3.2004
Где: Israel

Репутация: 113
Всего: 317



jizzle, удаленный запуск скриптов, которые ты увидел на каком-то форуме - не дело.
не охота копипастить, но при наличии sed версии 4.0 и выше, можно вот так (пункт 4.41.2).
и регулярка была бы:
Код

"s|<body.*$|&\n<?php include ($_SERVER['\''DOCUMENT_ROOT'\''].'\''/dir/dir/dir/file.php'\'');?>|g" 

только я не понял зачем так много одиночных ковычек.


Это сообщение отредактировал(а) bilbobagginz - 29.10.2011, 02:10


--------------------
Я ещё не демон. Я только учусь.
PM WWW   Вверх
jizzle
Дата 29.10.2011, 22:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 28.10.2011

Репутация: нет
Всего: нет



Спасибо за ответ.

Что за скрипты?

Я просто тизер хочу на все страницы себе поставить, а страниц много, отдельного footer или header, который бы вызывался на всех страницах нету.

Вот так получается:

Код

find . -name '*.html' -print0 | xargs -0 sed "s|<body.*$|&\n<?php include ($_SERVER['\''DOCUMENT_ROOT'\''].'\''/dir/dir/dir/file.php'\'');?>|g" 


Кто-нибудь может итоговый вариант сделать? smile Я видимо не так как-то это понимаю.

PM MAIL   Вверх
bilbobagginz
Дата 29.10.2011, 23:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Naughtius Maximus
****


Профиль
Группа: Экс. модератор
Сообщений: 8813
Регистрация: 2.3.2004
Где: Israel

Репутация: 113
Всего: 317



Цитата(jizzle @  29.10.2011,  21:00 Найти цитируемый пост)
Кто-нибудь может итоговый вариант сделать?  Я видимо не так как-то это понимаю.

ты прекрасно все понимаешь: найдется идиот, который тебе все это сделает как ты хочешь.
ты только жди.... терпеливо, с платочком.



--------------------
Я ещё не демон. Я только учусь.
PM WWW   Вверх
jizzle
Дата 30.10.2011, 00:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 28.10.2011

Репутация: нет
Всего: нет



Я думал на форуме можно попросить помощи. Я не адекватно общаюсь, что ли, я не пойму? К чему грубость?

Ну найдётся, поможет, скажу спасибо - от кого-то убудет что ли?
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Linux/UNIX: Oбщие вопросы"
nickless
Imple
nerezus

В тему здесь вопросы общие - не привязанные к определенному ПО или дистрибутиву BSD/Linux/UNIX.
Например вопросы о выборе ОС для определенных задач (но если Вы просто хотите узнать "Какой дистрибутив лучше", то для этого есть Клуб юнуксоидов).
Общие вопросы по shell-программированию тоже лучше задавать здесь.


  • Вопросы мобильной разработки тут
  • Вы должны соблюдать правила форума.
  • Помните: какой вопрос, такой и ответ. Прежде чем задать вопрос прочитайте вот эту статью на форуме CIT.
  • Оскорблять запрещается.
  • Религиозные войны в Религиозных войнах.
  • Общение "просто так" в Клубе юнуксоидов. В отличие от многих других разделов, здесь разрешается сдержанно оффтопить и юморить в тему.

За интересные статьи, находки, решения, программы и просто реальную помощь будут ставиться + в репу).


В данный момент этот раздел модерируют nerezus, nickless, powerfox, pythonwin, Imple и ZeeLax. Если вы хотите помочь нам, пишите в ПМ и мы обсудим.


Спасибо. И use UNIX or die; С уважением, nerezus, nickless, powerfox, pythonwin, Imple, ZeeLax.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | *NIX системы: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0866 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.