Составляем скрипт (разнообразные вопросы по утилитам)

Готовые решения для многих вопросов, которые очень часто задаются снова и снова.

Модератор: Модераторы разделов

gex

Составляем скрипт

Сообщение gex » 23.05.2004 04:30

Есть-ли возможность командой find искать слова в документах например?
Спасибо сказали:

Аватара пользователя
Jan2ary
Бывший модератор
Сообщения: 630
Статус: Тщедушный очкарик

Re: Составляем скрипт

Сообщение Jan2ary » 23.05.2004 15:38

Думаю, да.
Например что-то вроде

Код: Выделить всё

find . -type f -exec cat {} ';'  | grep слово
Не шалю, никого не трогаю, починяю примус...
Спасибо сказали:

Аватара пользователя
StraNNicK
Бывший модератор
Сообщения: 1005
Статус: добрый хиппи

Re: Составляем скрипт

Сообщение StraNNicK » 23.05.2004 16:08

А просто grep чем не устраивает?
Ушёл навсегда. В личку не заглядываю.
Спасибо сказали:

Аватара пользователя
zenwolf
Бывший модератор
Сообщения: 3138
Статус: Страшный и злой
ОС: Slackware..Salix..x86_64

Re: Составляем скрипт

Сообщение zenwolf » 25.05.2004 20:09

Можно искать через mc Команда-> поиск файла
далее указать параметры
Quae videmus quo dependet vultus. (лат) - То, что мы видим, зависит от того, куда мы смотрим.
Спасибо сказали:

Аватара пользователя
Ослик ИА
Сообщения: 261

Re: Составляем скрипт

Сообщение Ослик ИА » 30.05.2004 01:14

или через kfind
спасибо за внимание
Спасибо сказали:

Gabber
Сообщения: 3

Re: Составляем скрипт

Сообщение Gabber » 14.06.2004 14:36

find * -exec grep -s -l slovo {} \;
I: SI: ES: TI: EI: ES: UAI: why, 'cause i wanna get high
Спасибо сказали:

dk2705
Сообщения: 20

Re: Составляем скрипт

Сообщение dk2705 » 12.12.2004 18:23

Привет!

Почему-то в команде ls не работает опция --ignore.
Red Hat 7.3
Домашние каталоги юзеров, среди них - public
Команда

ls -d p*

выдает на экран имена всех каталогов на букву p.

ls -d p* --ignore=public

должна вывести все те же имена, кроме public.
Но она выводит то же самое, что и без опции ignore.

В чем грабли? Где я ошибаюсь?

С уважением,
dk2705
Спасибо сказали:

Metal
Сообщения: 92

Re: Составляем скрипт

Сообщение Metal » 19.12.2004 12:55

`-I PATTERN'
`--ignore=PATTERN'
    Do not list files whose names match the shell pattern (not regular
    expression) PATTERN unless they are given on the command line.  As
    in the shell, an initial `.' in a file name does not match a
    wildcard at the start of PATTERN.


Видимо в этом дело, если конечно проблема еще существует.
Gentoo, Openbox
Спасибо сказали:

Аватара пользователя
aLexx programmer
Сообщения: 985
Статус: Турук-Макто
ОС: Gentoo -> Ubuntu

Re: Составляем скрипт

Сообщение aLexx programmer » 19.12.2004 18:19

(Metal @ Воскресенье, 19 Декабря 2004, 13:55) писал(а):
`-I PATTERN'
`--ignore=PATTERN'
     Do not list files whose names match the shell pattern (not regular
     expression) PATTERN unless they are given on the command line.  As
     in the shell, an initial `.' in a file name does not match a
     wildcard at the start of PATTERN.


Видимо в этом дело, если конечно проблема еще существует.



Вообще, странно всё это... Получается этот ключ можно использовать только как "ls --ignore=la-la-la", то есть только для ВСЕХ файлов в текущей директории. Нелогично как то... :new_unsure:
Спасибо сказали:

Аватара пользователя
t.t
Бывший модератор
Сообщения: 7390
Статус: думающий о вечном
ОС: Debian, LMDE

Re: Составляем скрипт

Сообщение t.t » 20.12.2004 14:57

Немного в сторону, но всё же.. А [e]grep -v не спасёт отца русской демократии?
¡иɯʎdʞ ин ʞɐʞ 'ɐнɔɐdʞǝdu qнεиж
Спасибо сказали:

vbx
Сообщения: 8

Re: Составляем скрипт

Сообщение vbx » 31.12.2004 18:05

Подскажите, как вывести полный путь к файлу/директории вида /foo/foo1/123.file?
SuSE Linux 10.0
Duron 1G (Morgan)/256 DDR, GeForce2 MX400
Спасибо сказали:

Аватара пользователя
Bolverk
Бывший модератор
Сообщения: 1571
ОС: Cygwin

Re: Составляем скрипт

Сообщение Bolverk » 31.12.2004 19:16

pwd выводит полный путь к текущей директории. Соответсвенно, обычно конструкции типа
`pwd`/dir1/dir2/file1
и даже
`pwd`/../../dir1/dir2/file1
будут делать то что надо.
Либо еще вариант - играться с find и его форматом вывода.
Спасибо сказали:

linuxfan
Сообщения: 96

Re: Составляем скрипт

Сообщение linuxfan » 22.04.2005 18:47

всем привет
как использовать команду find или какую команду используем ,чтобы знал где лежит файл "привет"
Спасибо сказали:

Аватара пользователя
clx
Сообщения: 3121
Статус: Think Different !
ОС: Mac OS X

Re: Составляем скрипт

Сообщение clx » 22.04.2005 20:38

find <где искать> -iname "привет"
iMac 20" Core Duo.
Спасибо сказали:

Аватара пользователя
t.t
Бывший модератор
Сообщения: 7390
Статус: думающий о вечном
ОС: Debian, LMDE

Re: Составляем скрипт

Сообщение t.t » 22.04.2005 22:08

(linuxfan @ Пятница, 22 Апреля 2005, 17:47) писал(а):как использовать команду find или какую команду используем ,чтобы знал где лежит файл "привет"
Что, маны читать нынче уже совсем не модно?
¡иɯʎdʞ ин ʞɐʞ 'ɐнɔɐdʞǝdu qнεиж
Спасибо сказали:

linuxfan
Сообщения: 96

Re: Составляем скрипт

Сообщение linuxfan » 22.04.2005 23:43

читаю , но по англиский .Где можно найти маны по руский.
спасибо за помощь
Спасибо сказали:

Аватара пользователя
serg_sk
Бывший модератор
Сообщения: 2749
Статус: <3 Anime
ОС: Gentoo Linux <3

Re: Составляем скрипт

Сообщение serg_sk » 22.04.2005 23:53

Для linuxfan:
Поиск по форуму. Ключ поиска "русские маны"
Тема закрыта
Не ждали?! А я приперся!
Помойка Gentoo'шника
-------
Спасибо сказали:

digeridoo
Сообщения: 5

Re: Составляем скрипт

Сообщение digeridoo » 04.08.2005 20:37

Подскажите пожалуйста, каким образом в консоли (или другим каким образом) осуществить замену одного текста на другой сразу в нескольких файлах?!
Спасибо сказали:

Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: Составляем скрипт

Сообщение sash-kan » 04.08.2005 21:41

man sed
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:

digeridoo
Сообщения: 5

Re: Составляем скрипт

Сообщение digeridoo » 04.08.2005 22:06

:) по правде говоря google: find and replace text+miltiple files+linux мне помогло больше

find . -name '*.html' | xargs perl -pi -e 's/oldtext/newtext/g'
Спасибо сказали:

Аватара пользователя
polachok
Бывший модератор
Сообщения: 2199
Статус: главный форумный маргинал
ОС: gnu/linux

Re: Составляем скрипт

Сообщение polachok » 04.08.2005 22:11

то же можно и юез перла, седом
find . -name '*.html' | xargs sed 's/oldtext/newtext/'
И немедленно выпил.
Спасибо сказали:

Аватара пользователя
alv
Бывший модератор
Сообщения: 7268
Статус: Пенсионер в законе
ОС: Cintu

Re: Составляем скрипт

Сообщение alv » 04.08.2005 22:25

(digeridoo @ Четверг, 04 Августа 2005, 19:37) писал(а):Подскажите пожалуйста, каким образом в консоли (или другим каким образом) осуществить замену одного текста на другой сразу в нескольких файлах?!


читайте Madskull'а:
http://citforum.ru/open_source/sed/
именно об этом
Спасибо сказали:

Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: Составляем скрипт

Сообщение sash-kan » 05.08.2005 09:40

(polachok @ Четверг, 04 Августа 2005, 21:11) писал(а):find . -name '*.html' | xargs sed 's/oldtext/newtext/'

точнее:
find . -name '*.html' | xargs sed -i -e 's/oldtext/newtext/g'

Sash Kan добавил в 05.08.2005 09:40

(digeridoo @ Четверг, 04 Августа 2005, 21:06) писал(а):по правде говоря google: find and replace text+miltiple files+linux мне помогло больше

быть тебе настоящим линуксоидом :thumbsup:
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:

linuxfan
Сообщения: 96

Re: Составляем скрипт

Сообщение linuxfan » 08.10.2005 01:53

мой вопрос как название темы.
кто это знает , подскажите пожалуйста.спасибо
Спасибо сказали:

Аватара пользователя
[Marsel]
Сообщения: 53
ОС: Gentoo

Re: Составляем скрипт

Сообщение [Marsel] » 08.10.2005 02:11

думаю команда "time" тебе подойдет....
работает элементарно

Код: Выделить всё

time <программа>

после отработки программы будет выведена информация о том сколько по времени эта программа работала
... у волков ведь не как у людей - в одиночку спасаться не смей...
AMD64 Notebook
Спасибо сказали:

linuxfan
Сообщения: 96

Re: Составляем скрипт

Сообщение linuxfan » 08.10.2005 13:51

не пойму.
можете ли вы писать мне скрипт для этого???
Спасибо сказали:

Аватара пользователя
drakon
Сообщения: 211

Re: Составляем скрипт

Сообщение drakon » 08.10.2005 14:28

устанавливаешь пакет под названием time
открываешь терминал и пишешь time
Debian GNU/Linux 2.6.15
Спасибо сказали:

linuxfan
Сообщения: 96

Re: Составляем скрипт

Сообщение linuxfan » 08.10.2005 14:43

я знаю, но если хочу знать насколько времени работала программа то надо останавливать программу.это не хочу.есть другой вариант? :)
Спасибо сказали:

Аватара пользователя
t.t
Бывший модератор
Сообщения: 7390
Статус: думающий о вечном
ОС: Debian, LMDE

Re: Составляем скрипт

Сообщение t.t » 08.10.2005 15:16

Ещё есть вариант запустить top -- и там посмотреть сколько процесорного времени сожрал тот или иной процесс. Или вопрос не в том, сколько времени процесс жрал проц, а сколько он висит в памяти? А в принципе в обоих этих случаях может помочь ps aux|grep <имя-процесса>; предпоследние два столбца (т.е. перед именем процесса) это время старта и съеденное процессорное время.
¡иɯʎdʞ ин ʞɐʞ 'ɐнɔɐdʞǝdu qнεиж
Спасибо сказали:

Аватара пользователя
@leX
Сообщения: 313
ОС: Linux

Re: Составляем скрипт

Сообщение @leX » 25.10.2005 03:10

Дано. Директория содержит много филов, в том числе и zip файлы.
Нужно разархивировать все зипы одной командой.
Пробувал:
unzip *zip
ls | unzip
ls -1 | unzip -l
ls -1 | unzip -l -
и т.д.
Пока ничего не вышло.

P.S.
Гнилые помидоры и тухлые яйца принимаются только в сопровождении содержательного ответа.
Спасибо сказали: