Перейти из форума на сайт.


Система IP-видеонаблюдения "Линия". Скачать бесплатную демо-версию для 16 камер. НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Операционные системы » UNIX » UNIX Shell: sh, bash, zsh; Coreutils и ко.; sed, awk, perl;

Модерирует : ShriEkeR

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115

Открыть новую тему     Написать ответ в эту тему

digital422

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Товарищи вопрошающие! Если ваша система отлична от ГНУ, и в то же время вы желаете обойтись только дефолтными средствами, указывайте и то и другое сразу, пожалуйста.


UNIX Shell

 
   Это глобальная тема по юниксовой командной оболочке, как по интерактивной работе в командной строке, так и по шелл-скриптам. Ключевые слова: sh, bash, zsh, tcsh, busybox, readline, coreutils, cp, mv, ln, rm, ls, readlink, mkdir, touch, stat, date, test, sleep, chown, chmod, chattr, dd, df, du, env, echo, cat, less, man, grep, sort, findutils, find, locate, xargs, md5sum, cmp, diff, patch, ps, kill, killall, tar, gzip, bzip2, xz, mount, fdisk, parted, mkfs, fsck, e2fsprogs, mtools, ss, netcat, netstat, rsync, ssh, scp, sftp, lftp, ncftp, time, strace.
   Неинтерактивная обработка текста (sed, awk, perl) пока тоже здесь.
   Смотри в других ветках: wget, convert, montage, mogrify и др., gs, git, 7z, p7zip, soffice, mplayer, mencoder, vlc, vim, mc, mcedit, kioclient.
 
 

Hint! Русские маны (подустаревшие, не всегда полные и не всегда для вашей системы) можно попытаться найти на Опеннете, к примеру: bash, tar, grep.

 
Готовые решения:
  • commandlinefu.com
    Крупнейшая база полезных однострочников на командной оболочке с ранжированием на основе пользовательского голосования.
     
  • shell-fu.org
    Аналогично, но поменьше и формат записей более свободный, поэтому встречаются и однострочники, и развернутые скрипты, и просто советы.
     
  • Useful one-line scripts for sed
    Почти исчерпывающий список решений для тех случаев, когда sed незаменим. Более сложные скрипты с sed.sf.net — только для тех, кто знает толк... :)

 
Учебная литература:
  • Greg’s Wiki (http://mywiki.wooledge.org)
    Наиболее обширный авторский сборник постоянно обновляющихся материалов по Башу.

    1. Bash Pitfalls
      (Частые ошибки программирования на Баше: [1], [2], [3], [4], [5] — пер. на русский по сост. на дек. 2008 г.).
      Рассмотрены преимущественно ошибки, возникающие из-за непонимания отличия шелла от «нормальных» скриптовых языков. Если вы уже владеете, например, Перлом, то это вполне может быть ваше первое руководство для ознакомления с Башем.
    2. Bash FAQ
    3. Bash Guide
    4. Bash Reference Sheet
      Шпаргалка по частым синтаксическим оборотам.

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

 

Смело правьте и дополняйте шапку, однако не забывайте отписываться об исправлениях и сохранять исходный вариант под #.
Первый пост темы имел вид...

Всего записей: 259 | Зарегистр. 19-04-2003 | Отправлено: 18:51 16-05-2008 | Исправлено: ASE_DAG, 22:02 01-03-2017
CrownRU



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
При совпадении файла из одной папки в другой папке, чтобы не выполнять ту и иную модификацию или что то с файлом делать .  

 
Емм, еще раз, помедленней.

Всего записей: 192 | Зарегистр. 14-01-2003 | Отправлено: 15:52 21-06-2017
MihailM



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
CrownRU, мне надо сделал архив только новых файлов в папке , то если есть уже одинаковый файл в папке назначение , чтобы заново мне не делать архивирование, то есть просто пропускал такой=одинаковый файл . Зачем 2 раза делать одно и тоже .Вроде должно быть, понятно ? )
А то у мня сейчас получается , что при выполнении операции архивирования, то я 2 раза делаю с одинаковым файлов одно и тоже. А файл то не изменялся..  
 
 

Всего записей: 842 | Зарегистр. 19-10-2003 | Отправлено: 15:56 21-06-2017 | Исправлено: MihailM, 16:02 21-06-2017
CrownRU



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Вам уже писали, что rsync надо использовать для копирования только измененных файлов. git еще можно использовать. Готовые скрипты в интернете имеются.

Всего записей: 192 | Зарегистр. 14-01-2003 | Отправлено: 11:41 23-06-2017
MihailM



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
CrownRU, мне нужен уже сам процесс выполнения .. то есть в данном случае архивация..Ну если вы знаете , скинули бы примерчик то ) Хотя тут похоже помощи хрен дождешься, которые вместо помощи посылать любят в Гугль )
ВОПРОС ЗАКРЫТ !!!!

Всего записей: 842 | Зарегистр. 19-10-2003 | Отправлено: 15:51 23-06-2017
CrownRU



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
MihailM
Не надо устраивать истерик. Научитесь правильно формулировать свои вопросы.
 
Вот вам пример - так я копирую кучу файлов по scp с одного сервера на другой:
 

Код:
# rsync -aHAXxv --numeric-ids --stats -e ssh <откуда> <куда>

Всего записей: 192 | Зарегистр. 14-01-2003 | Отправлено: 13:46 28-06-2017
MihailM



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
CrownRU

Цитата:
Не надо устраивать истерик.
А причем тут истерика,я попросил помощи как не знающий в этой области, вы попытались что то сделать в итоге все не то или вы читать не умеете )
Вроде бы для помощи и существует данная тема , а не чтобы вы посылали в поисковик ?!

Цитата:
Готовые скрипты в интернете имеются.
Это же ваше сообщение  ..  
 
А теперь по поводу вашего ответа : Причем тут ваша
Цитата:
rsync  
и моя помощь с
Цитата:
архивированием

С rsync я уже разобрался .. мне нужен пример скриптика для архивирование - вроде по русски написано, но только не всех подряд файлов , а только тех которых нет в папке с архивами .. То есть выполнять типа проверки на наличие файлов...
Если rsync  умеет архивировать , тогда напишите .Хотя вроде бы я не умеет.  
А вообще то
Цитата:
ВОПРОС ЗАКРЫТ !!!!  
, Решил по старинке , все файлы архивировать ..  
Помощи я так и не услышал-не увидел , кроме как :
Цитата:
 Готовые скрипты в интернете имеются.

 
А по поводу поисковиков, вы когда посылаете в поисковик , сделайте похожий запрос типа "linux скрипт архивирования", и вам тут же выпадет куча информации по архивированию файлов, то есть команды и простенькие примеры. Вообщем не то , что мне нужно.  Хотя нашел пример архивировать файлы за посл. месяц-год от тек. даты .  НО это не много не то,хотя  взял на заметку может пригодится.  

Всего записей: 842 | Зарегистр. 19-10-2003 | Отправлено: 20:32 28-06-2017 | Исправлено: MihailM, 20:55 28-06-2017
CrownRU



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
MihailM
То есть надо сравнивать файлы в источнике с файлами в архиве?
Почему бы не использовать backup решения?
 
Ну или воспользоваться функцией --filesync от ZIP?
 
Посмотрите также и эту страницу.

Всего записей: 192 | Зарегистр. 14-01-2003 | Отправлено: 14:19 29-06-2017 | Исправлено: CrownRU, 14:24 29-06-2017
MihailM



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
CrownRU,  

Цитата:
То есть надо сравнивать файлы в источнике с файлами в архиве?  
да , только файлы все отдельно, 1 файл=1 архив.
да и еще мне нужно другим архиватором. А то у меня есть готовый скрипт , ну у меня там долгий процесс получается .. Вот и хотел мож как то сократить время выполнения. Тем более мне это нужно не для бекапа, а просто для архивирования - недостающий-новых файлов из источника.  
У меня сейчас , как всё происходит , я копирую все нужные файлы мне в определенную папку типа "архив", там уже запускаю процесс архивирование с удалением источника. Потом с помощью rsync уже переношу-копирую  в другой каталог. Потом удаляю я эту папку архив, чтобы не мешало.  На ВПС всё это..

Всего записей: 842 | Зарегистр. 19-10-2003 | Отправлено: 14:47 29-06-2017 | Исправлено: MihailM, 14:57 29-06-2017
CrownRU



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
MihailM
Помоему слишком много телодвижений.  
Пример конкретный покажите.

Всего записей: 192 | Зарегистр. 14-01-2003 | Отправлено: 17:07 29-06-2017
MihailM



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
CrownRU, вот вот ,в личку скинул пример...

Всего записей: 842 | Зарегистр. 19-10-2003 | Отправлено: 09:14 30-06-2017 | Исправлено: MihailM, 09:17 30-06-2017
CrownRU



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
MihailM
 
значит bzip2... Тогда наверное самое простое воспользоваться tar. У него есть опция -u update, то биш. Проблема в том, что он не может актуализировать архивыне файлы.
 
Значит есть у нас архив.tar.bz2
распаковываем его до tar
Затем tar -uf актуализируем файлы
Пакуем.
 
Сейчас времени нет подробней писать, надеюсь так понятно.

Всего записей: 192 | Зарегистр. 14-01-2003 | Отправлено: 12:03 30-06-2017
Deoptimizer

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Здравствуйте.
Необходимо составить Search regular expression для такого задания:
Например есть такой ключ:

Код:
6F4BB-YCB3T-WK763-3P6YJ-BVH24

Известно, что они состоят из только таких комбинаций chars:
 

Цитата:
[BCDFGHJKMNPQRSTVWXY2346789]{5}
(где {5} пять chars до разделителя)
 

 
Причем не обязательно привязывать разделитель "-", он может быть любым, например:

Код:
 
6F4BB   -   YCB3T   -   WK763   -   3P6YJ   -   BVH24
 
или
 
6F4BB
YCB3T
WK763
3P6YJ
BVH24
 
или
 
6F4BBYCB3TWK7633P6YJBVH24
 
и еще как угодно...
 

 
Но известно, что набор из пяти chars по пять наборов.
 
Нужно составить Search regular expression (можно grep или sed) с конкретным ответом 0(если нашло такую комбинацию) или 1(не нашло такую комбинацию).
 
Добавлено:
И да, нужно учитывать, что этот ключ находится внутри текста.

Всего записей: 87 | Зарегистр. 12-06-2015 | Отправлено: 15:22 01-07-2017
Alukardd



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Deoptimizer
Думаю, Вам будет достаточно такого

Код:
grep -qPz '([BCDFGHJKMNPQRSTVWXY2346789]{5}([^BCDFGHJKMNPQRSTVWXY2346789]*?)){5}' /tmp/data && echo FOUNDED


----------
Microsoft gives you windows, linuх gives you the whole house...
I've been using Vim for about 4 years now, mostly because I can't figure out how to exit it.

Всего записей: 6153 | Зарегистр. 28-08-2008 | Отправлено: 16:11 01-07-2017
Skif_off

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите, пожалуйста, как правильно запустить скрипт с правами root? Скрипт примитивный, тупо удаление файлов и папок в /usr/local/ с rm -f и rm -rf соответственно, пути полные, в шебанге #!/bin/sh.
Сделал исполняемым, sudo ./del.sh не срабатывает, sudo sh del.sh тоже. Сделал финт ушами: sudo thunar -> зашёл в папку со скриптом, вызвал консоль, дальше sudo sh del.sh, но это как-то некрасиво.

Всего записей: 4850 | Зарегистр. 28-01-2008 | Отправлено: 15:49 07-10-2017
ASE_DAG



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Skif_off> Сделал исполняемым, sudo ./del.sh не срабатывает, sudo sh del.sh тоже.
 
УМВР.

----------
Dmitry Alexandrov <321942@gmail.com>

Всего записей: 9103 | Зарегистр. 12-05-2005 | Отправлено: 21:10 07-10-2017
mithridat1



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Skif_off

Цитата:
Сделал исполняемым, sudo ./del.sh не срабатывает, sudo sh del.sh тоже.

Попробуйте указать полный путь к скрипту,например sudo /tmp/del.sh

Всего записей: 3763 | Зарегистр. 05-01-2006 | Отправлено: 21:36 07-10-2017
Skif_off

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ASE_DAG

Цитата:
УМВР.

Оно как бы именно так и должно работать
 
mithridat1
С полным путём то же самое.
 
Кстати, есть разница: если использовать sudo sh del.sh, то всё выглядит так, как будто скрипт отработал как задумано, а если sudo ./del.sh, то в консоль пишет

Цитата:
sudo: unable to execute ./del.sh: No such file or directory
Обрыв терминальной линии

Это что-то очевидное? Куда копнуть?

Всего записей: 4850 | Зарегистр. 28-01-2008 | Отправлено: 00:09 08-10-2017
thejustsoul



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Skif_off
А это сработает?

Код:
cd /path/to/script
bash del.sh

Всего записей: 1560 | Зарегистр. 30-03-2014 | Отправлено: 01:03 08-10-2017 | Исправлено: thejustsoul, 01:04 08-10-2017
Skif_off

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
thejustsoul
Нет, не сработало.
 
Хм... Оно и без всякого sudo не работает Другие скрипты вроде работают, этот примитивный, типа

Код:
#!/bin/sh
 
rm -f /usr/local/bin/geany
rm -rf /usr/local/include/geany
...
echo "ok"

первый - файл, второй - каталог, подобного на несколько десятков строк. Что с ним может быть не так?

Всего записей: 4850 | Зарегистр. 28-01-2008 | Отправлено: 01:25 08-10-2017
ASE_DAG



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Skif_off
> $ sudo ./del.sh
> sudo: unable to execute ./del.sh: No such file or directory
> Хм... Оно и без всякого sudo не работает :-)
 
Уже лучше.  Давайте файл в двоичном виде.
 
Ну или сами проверьте первую строку на наличие непечатного мусора.  Ну и остальные заодно.  Подсказка: самое вероятное, что может быть — перед каждым переводом строки стоит еще и возврат каретки.

----------
Dmitry Alexandrov <321942@gmail.com>

Всего записей: 9103 | Зарегистр. 12-05-2005 | Отправлено: 03:26 08-10-2017 | Исправлено: ASE_DAG, 03:30 08-10-2017
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115

Компьютерный форум Ru.Board » Операционные системы » UNIX » UNIX Shell: sh, bash, zsh; Coreutils и ко.; sed, awk, perl;

Имя:
Пароль:
Сообщение

Для вставки имени, кликните на нем.

Опции сообщенияДобавить свою подпись
Подписаться на получение ответов по e-mail
Добавить тему в личные закладки
Разрешить смайлики?
Запретить коды


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.Board
© Ru.Board 2000-2017

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru