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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153

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

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
      Шпаргалка по частым синтаксическим оборотам.

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

 

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

Всего записей: 351 | Зарегистр. 19-04-2003 | Отправлено: 18:51 16-05-2008 | Исправлено: qw12, 09:42 24-03-2020
CrownRU



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

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

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

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



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

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



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

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



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

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



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

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

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



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

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

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

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

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

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



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

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



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

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

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



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

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



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

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



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

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

BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Здравствуйте.
Необходимо составить 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(не нашло такую комбинацию).
 
Добавлено:
И да, нужно учитывать, что этот ключ находится внутри текста.

Всего записей: 315 | Зарегистр. 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.

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

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

Всего записей: 6473 | Зарегистр. 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> [PGP] [BTC]

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



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

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

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

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

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

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

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

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

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

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



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

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

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

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

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

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

Всего записей: 6473 | Зарегистр. 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> [PGP] [BTC]

Всего записей: 9272 | Зарегистр. 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 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153

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


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

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru