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


Считаете, что Ubuntu недостаточно дружелюбна к новичкам?
Помогите создать новое Руководство для новичков!

Автор Тема: [HOWTO] Пишем bash скрипты  (Прочитано 221513 раз)

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

III_variant

  • Автор темы
  • Гость
Re: [HOWTO] Пишем bash скрипты
« Ответ #195 : 05 Декабря 2011, 23:10:30 »
alexander.pronin, спасибо за разъяснение, приму к сведению;
arcfi, огромное спасибо! 

Оффлайн Polkan

  • Участник
  • *
  • Сообщений: 124
    • Просмотр профиля
Re: [HOWTO] Пишем bash скрипты
« Ответ #196 : 22 Декабря 2011, 13:24:06 »
Привет всем !
Есть список из двух частей такого вида:
Иванов
Петров
Сидоров
12:30
14:45
15:18
надо преобразовать в :
Иванов 12:30
Петров 14:45
Сидоров 15:18
Т.Е. первая фамилия совпадает с первым временем, вторая со вторым и т.д.
Какой утилитой это лучше сделать?

I) я бы сделал это в vim:
1. ставим курсор на 1 (в строке 12:30)
2. Ctrl-v, G, $, d
3. gg, A, (несколько пробелов), Esc, p
результат:
Иванов    12:30
Петров    14:45
Сидоров   15:18

Если надо удалить повторяющиеся пробелы, можно несколько раз выполнить
:%s/  / /g
результат:
Иванов 12:30
Петров 14:45
Сидоров 15:18

II) но есть и такой замечательный вариант:
$info coreutils paste
     $ cat num2
     1
     2
     $ cat let3
     a
     b
     c
     $ paste num2 let3
     1       a
     2       b
             c

Оффлайн Zloy1

  • Активист
  • *
  • Сообщений: 261
    • Просмотр профиля
Re: [HOWTO] Пишем bash скрипты
« Ответ #197 : 22 Декабря 2011, 17:17:57 »
Привет всем !
Есть список из двух частей такого вида:
Иванов
Петров
Сидоров
12:30
14:45
15:18
надо преобразовать в :
Иванов 12:30
Петров 14:45
Сидоров 15:18
Т.Е. первая фамилия совпадает с первым временем, вторая со вторым и т.д.
Какой утилитой это лучше сделать?
Делишь файл на два:
file1
Иванов
Петров
Сидоров
и file2
12:30
14:45
15:18
затем выполняешь paste file1 file2 > file3

Оффлайн Polkan

  • Участник
  • *
  • Сообщений: 124
    • Просмотр профиля
Re: [HOWTO] Пишем bash скрипты
« Ответ #198 : 22 Декабря 2011, 17:47:42 »
затем выполняешь paste file1 file2 > file3
... о чем как раз и написано в предыдущем сообщении  :)

Оффлайн Zloy1

  • Активист
  • *
  • Сообщений: 261
    • Просмотр профиля
Re: [HOWTO] Пишем bash скрипты
« Ответ #199 : 22 Декабря 2011, 18:53:20 »
не заметил  :D

Оффлайн lavaed

  • Новичок
  • *
  • Сообщений: 15
    • Просмотр профиля
Re: [HOWTO] Пишем bash скрипты
« Ответ #200 : 18 Января 2012, 01:17:09 »
Туго дается но я борюсь, и похоже не в равном бою))
Подскажите пожалуйста, как запустить команду: ifconfig | mail xxxxx.mail.ru
при смене ip на vpn соединении
Была мысль запихать эту команду в скрипт ip-up который запускается при пере подключении vpn!   

Оффлайн Polkan

  • Участник
  • *
  • Сообщений: 124
    • Просмотр профиля
Re: [HOWTO] Пишем bash скрипты
« Ответ #201 : 18 Января 2012, 11:13:38 »
Туго дается но я борюсь, и похоже не в равном бою))
Подскажите пожалуйста, как запустить команду: ifconfig | mail xxxxx.mail.ru
при смене ip на vpn соединении
Была мысль запихать эту команду в скрипт ip-up который запускается при пере подключении vpn!
Ну, например, можно так:
$ cd
$ ifconfig eth0 |grep "inet addr" > lastIp  (здесь и в кроне вместо eth0 подставить свой интерфейс)
$ crontab -e
задание cron:
*/5 * * * * cd && ifconfig eth0 |grep "inet addr" > realIp && diff realIp lastIp | mail -e -s _IZMENENIE_IP_ mail@mail.com && cp realIp lastIp

« Последнее редактирование: 18 Января 2012, 11:17:58 от Polkan »

Оффлайн lavaed

  • Новичок
  • *
  • Сообщений: 15
    • Просмотр профиля
Re: [HOWTO] Пишем bash скрипты
« Ответ #202 : 17 Февраля 2012, 23:26:39 »
Ну в общем чего хотел того и добился!
/sbin/ifconfig ppp0 > /home/ххххх/Mail/if.file - этой строкой создается файл if.file с данными о ppp0 соединении 
/usr/bin/heirloom-mailx xxxxx@mail.ru < /home/xxxxx/Mail/if.file - этой строкой созданный файл идет как вложение к письму отправляемого через mailx
 Все эти две строчки запихиваем в скрипт ip-up лежащий у меня в /etc/ppp/ и соответственно настраиваем mail )))

Оффлайн Mioki

  • Новичок
  • *
  • Сообщений: 6
    • Просмотр профиля
Re: [HOWTO] Пишем bash скрипты
« Ответ #203 : 20 Апреля 2012, 18:03:34 »
Помогите решить две задачи

1) Скрипт должен запускать несколько новых терминалов и запускать в них юниксовую команду (которая будет указана в аргументе первоначального скрипта)
 например
 script1.sh ps pwd uname
 будучи запущенным в таком виде скрипт должен стартовать три новых терминала в фоновом режиме и запустить соответсвенно на первом команду ps, на втором - pwd, на третьем - uname
 
2) Скрипт должен осуществлять поиск файлов в которых встречается слово передаваемое скрипту как аргумент и выводить части найденного файла (10 строк до и 10 строк после строки в которой найдено заданное слово)

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

а со второй сложности, не могу конвеер сделать с grep, или я неправильно ваще использую команду, или что

помогиииите пожааалуйста!!

Оффлайн Сперанский

  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 4055
  • Dictum ac factum
    • Просмотр профиля
Re: [HOWTO] Пишем bash скрипты
« Ответ #204 : 20 Апреля 2012, 18:09:57 »
Для запуска терминала используется команда терминала с опцией -e и командойurxvt -e mc
По второму вопросу- что написали покажите.

Оффлайн Mioki

  • Новичок
  • *
  • Сообщений: 6
    • Просмотр профиля
Re: [HOWTO] Пишем bash скрипты
« Ответ #205 : 20 Апреля 2012, 18:15:56 »
можно сказать что ничего не написала
это точно грепом надо писать?
хочется самой сделать, но я в тупике

Оффлайн Сперанский

  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 4055
  • Dictum ac factum
    • Просмотр профиля
Re: [HOWTO] Пишем bash скрипты
« Ответ #206 : 20 Апреля 2012, 18:18:47 »

Оффлайн Mioki

  • Новичок
  • *
  • Сообщений: 6
    • Просмотр профиля
Re: [HOWTO] Пишем bash скрипты
« Ответ #207 : 20 Апреля 2012, 18:21:20 »
о, спасибо!!!

а urxvt не работает на телнет солярис к сожалению, приходится допотопными методами делать

Оффлайн Polkan

  • Участник
  • *
  • Сообщений: 124
    • Просмотр профиля
Re: [HOWTO] Пишем bash скрипты
« Ответ #208 : 21 Апреля 2012, 15:52:15 »
2) Скрипт должен осуществлять поиск файлов в которых встречается слово передаваемое скрипту как аргумент и выводить части найденного файла (10 строк до и 10 строк после строки в которой найдено заданное слово)
grep -r -A10 -B10 "искомая фраза" ./*

Оффлайн Mioki

  • Новичок
  • *
  • Сообщений: 6
    • Просмотр профиля
Re: [HOWTO] Пишем bash скрипты
« Ответ #209 : 23 Апреля 2012, 15:04:25 »
grep -r -A10 -B10 "искомая фраза" ./*

на солярке это не работает, в ней вообще много чего не работает

 

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