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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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 154

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

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

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

 

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

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

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
какие окончания строк были у файла?
 
# print -l "aa" "bb\r" | sed -e '/bb$/d'
aa
bb
#

Всего записей: 294 | Зарегистр. 08-02-2003 | Отправлено: 22:19 04-11-2014
karavan



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
arto
если вопрос ко мне, то на предыдущей странице во втором моем сообщении содержимое файла.

Всего записей: 1962 | Зарегистр. 02-12-2011 | Отправлено: 23:36 04-11-2014
Alukardd



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
karavan
при копипасте на форум символ конца строки мог измениться.

----------
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.

Всего записей: 6571 | Зарегистр. 28-08-2008 | Отправлено: 07:28 05-11-2014
karavan



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Alukardd
Он остался неизменным при повторном вчерашнем эксперименте...
 
И команда от arto не пошла, или я ее не понял

Всего записей: 1962 | Зарегистр. 02-12-2011 | Отправлено: 12:47 05-11-2014
mithridat1



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Какие есть простые средства (однострочный скрипт или отдельная утилита) командной строки для преобразования URI в кодировку Percent-encoding под *nix/Windows ?
 
Например,URI содержит строку
 
DmxC+W50UTGTaTqPnEkji43kP44EGtRA7BDu/+WmEj4/MJsZVPDWl40KC2hyThTDn+6buaunzLj0iVoQyBqHqiWflSXOIi7zl3P2wB2M/S8LYHa9Imk0SlzdKxJOv6sPgI6pHtz//87O+kw97qFQfm/g6W06BYhgmSZN1/2dd58v3FIrzReVYI7UTVm7eYFrjd/xKdcU6LMx+ckVe3PzVmsWoYV70UbDGUNbanhgivk/tZBInwC5NWeOQVW/jg/a
 
надо преобразовать ее в
 
DmxC%2BW50UTGTaTqPnEkji43kP44EGtRA7BDu%2F%2BWmEj4%2FMJsZVPDWl40KC2hyThTDn%2B6buaunzLj0iVoQyBqHqiWflSXOIi7zl3P2wB2M%2FS8LYHa9Imk0SlzdKxJOv6sPgI6pHtz%2F%2F87O%2Bkw97qFQfm%2Fg6W06BYhgmSZN1%2F2dd58v3FIrzReVYI7UTVm7eYFrjd%2FxKdcU6LMx%2BckVe3PzVmsWoYV70UbDGUNbanhgivk%2FtZBInwC5NWeOQVW%2Fjg%2Fa
 
 
Способ ниже у меня работает,но хочется найти более универсальное решение,не требующее объемных внешних компонент
 
echo "encode me" | php -r "echo urlencode(file_get_contents('php://stdin'));"

Всего записей: 5025 | Зарегистр. 05-01-2006 | Отправлено: 17:11 24-11-2014 | Исправлено: mithridat1, 17:13 24-11-2014
arto

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
что есть "не требующее объемных внешних компонент" ?

Всего записей: 294 | Зарегистр. 08-02-2003 | Отправлено: 21:45 24-11-2014
mithridat1



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
arto
Имелось в виду без использования скриптовых языков типа PHP,Perl,Python,Ruby и т.д.

Всего записей: 5025 | Зарегистр. 05-01-2006 | Отправлено: 09:32 25-11-2014
CrownRU



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
mithridat1
Оно?
тыц
все в баше.

Всего записей: 212 | Зарегистр. 14-01-2003 | Отправлено: 15:27 27-11-2014
arto

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
sed != bash
 
# echo "Åbö" | sed -e 's| |%20|g' -e 's|!|%21|g' -e 's|#|%23|g' -e 's|\$|%24|g' -e 's|%|%25|g' -e 's|&|%26|g' -e "s|'|%27|g" -e 's|(|%28|g' -e 's|)|%29|g' -e 's|*|%2A|g' -e 's|+|%2B|g' -e 's|,|%2C|g' -e 's|/|%2F|g' -e 's|:|%3A|g' -e 's|;|%3B|g' -e 's|=|%3D|g' -e 's|?|%3F|g' -e 's|@|%40|g' -e 's|\[|%5B|g' -e 's|]|%5D|g'  
Åbö
#

Всего записей: 294 | Зарегистр. 08-02-2003 | Отправлено: 16:06 27-11-2014
CrownRU



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

Зачем же в одну строку-то?

Всего записей: 212 | Зарегистр. 14-01-2003 | Отправлено: 16:18 27-11-2014 | Исправлено: CrownRU, 18:33 27-11-2014
arto

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
но интересная идея там есть:
 
# print -n Äbö | od -A n -t x1 | sed -e "s# #%#g" | perl -MURI::Escape -lne 'print uri_unescape($_)'  
Äbö
#

Всего записей: 294 | Зарегистр. 08-02-2003 | Отправлено: 17:13 27-11-2014
mithridat1



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
CrownRU
Спасибо,работает.
Для Windows пока остановился на PHP в минимальной конфигурации.

Всего записей: 5025 | Зарегистр. 05-01-2006 | Отправлено: 14:16 28-11-2014
arto

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

Цитата:
Зачем же в одну строку-то?  

 
вставлял в несколько.
но результат тот же.

Всего записей: 294 | Зарегистр. 08-02-2003 | Отправлено: 17:27 28-11-2014
CrownRU



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Друзья, ВСЕХ с НАСТУПАЮЩИМ НОВЫМ ГОДОМ!!!
ПОБЕД в жизни, здоровья, чтобы у каждого жизнь била ключом и не по голове!!!
ВСЕГО-ВСЕГО САМОГО-САМОГО ЛУЧШЕГО!!! С ПРАЗДНИКОМ!!!

Всего записей: 212 | Зарегистр. 14-01-2003 | Отправлено: 23:00 31-12-2014
ndch

Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
вопрос по curl
 
В мануале написано что curl умеет устанавливать для скаченного файла дату/время на удалённом сервере. И это работает.
 -R, --remote-time   Set the remote file's time on the local output
 
wget умеет скачивать "более свежие файлы"
  -N,  --timestamping            don't re-retrieve files unless newer than
 
Вопрос в следующем:
как заставить curl скачивать только "более свежие файлы" ?

Всего записей: 7005 | Зарегистр. 31-08-2008 | Отправлено: 11:49 04-02-2015
Alukardd



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ndch
man curl
Цитата:
       -z, --time-cond <date expression>|<file>
              (HTTP/FTP)  Request  a file that has been modified later than the given time and date, or one that has been modified before that time. The <date expression> can be all sorts of date strings
              or if it doesn't match any internal ones, it is taken as a filename and tries to get the modification date (mtime) from <file> instead. See the curl_getdate(3) man pages for date expression
              details.
 
              Start the date expression with a dash (-) to make it request for a document that is older than the given date/time, default is a document that is newer than the specified date/time.
 
              If this option is used several times, the last one will be used.


----------
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.

Всего записей: 6571 | Зарегистр. 28-08-2008 | Отправлено: 13:53 04-02-2015
ndch

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

Цитата:
or if it doesn't match any internal ones, it is taken as a filename and tries to get the modification date (mtime) from <file> instead

C пониманием этого проблема. Указываю "doesn't match any internal ones", а именно
curl -z "zzz" -R "http://example.org/file"
 
получаю:
Warning: Illegal date format for -z/--timecond (and not a file name).
Warning: Disabling time condition. See curl_getdate(3) for valid date syntax.

Всего записей: 7005 | Зарегистр. 31-08-2008 | Отправлено: 09:07 05-02-2015
ASE_DAG



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ndch> curl -z "zzz" -R "http://example.org/file"
 
Чавой? И какому времени (человеческим языком) соответствует, по-вашему, строка zzz?

----------
Dmitry Alexandrov <321942@gmail.com> [PGP] [BTC]

Всего записей: 9272 | Зарегистр. 12-05-2005 | Отправлено: 09:10 05-02-2015 | Исправлено: ASE_DAG, 09:11 05-02-2015
ndch

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

Цитата:
Чавой? И какому времени (человеческим языком) соответствует, по-вашему, строка zzz?

Кратко: никакому.
 
Раз махали rtfm-ом, то вкуриваю: "or if it doesn't match any internal ones, it is taken as a filename and tries to get the modification date (mtime) from <file> instead"
 
Что по моему пониманию означает "если выражение не совпадает с внутренним форматом, то оно (время) берётся от времени модификации файла".
 Но вот вопрос какого файла ? Который на выходе или как ?

Всего записей: 7005 | Зарегистр. 31-08-2008 | Отправлено: 09:16 05-02-2015 | Исправлено: ndch, 09:19 05-02-2015
ASE_DAG



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ndch, УМВР.
 
Покажите:
$ ls -l zzz

----------
Dmitry Alexandrov <321942@gmail.com> [PGP] [BTC]

Всего записей: 9272 | Зарегистр. 12-05-2005 | Отправлено: 09:19 05-02-2015
Открыть новую тему     Написать ответ в эту тему

Страницы: 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 154

Компьютерный форум 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