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

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



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

Всего записей: 2155 | Зарегистр. 18-06-2006 | Отправлено: 00:15 09-09-2014
ASE_DAG



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Weinaum, $ grep --fixed-strings --file patterns input

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

Всего записей: 9272 | Зарегистр. 12-05-2005 | Отправлено: 13:42 09-09-2014
Weinaum



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ASE_DAG
Спасибо, но что то не получается - нашел 67 совпадений, проверяю вручную - нет их в большом файле...странно...
Уточню, на всякий случай:
просто хочу проверить, нет ли е-майл адресов пользователей одного моего сайта в выложенных намедни базах майл.ру и яндекса.
Взял базу моего сайта, выделил из нее сначала мыла с яндексом, потом с майлом. Первых оказалось около 190, а вторых, с учетом всех доменов майл.ру, более 700. Все эти 700 мыл загнал построчно в файл, скажем, small.txt.
База майл.ру тоже представляет собой текстовый файл, в котором построчно находятся записи вида мыло:пароль
Очистив все от :пароль, получил файл, в котором 4.5 млн строк чисто с мылами. Назвал его скажем big.txt
 
Теперь я хочу проверить, сколько мыл из этих 700, что находятся в smal.txt есть в файле big.txt, и вывести их в итоговый файл, скажем, output.txt
 
делаю по твоей подсказке, получаю, как уже сказал, 67 совпадений, но все мимо почему-то...

Всего записей: 2155 | Зарегистр. 18-06-2006 | Отправлено: 11:18 10-09-2014
arto

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

# cat t
gabriela12@mail.ru
wstanii-toro1180i@mail.ru
aera12@mail.ru
rinchins@mail.ru
vladimir-vologdin@mail.ru
# grep --fixed-strings --file t Mail.txt | cut -d: -f1 | while read a; do grep -F $a Mail.txt; done
gabriela12@mail.ru:gabriela
aera12@mail.ru:12369A
wstanii-toro1180i@mail.ru:WalI14t0
rinchins@mail.ru:rincha5547
vladimir-vologdin@mail.ru:4926192AK
#


Всего записей: 294 | Зарегистр. 08-02-2003 | Отправлено: 11:34 10-09-2014
Alukardd



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Weinaum
Щито-то Вы явно упускаете, т.к. приведённая конструкция прекрасно выполняет поставленную Вами задачу.
 
arto
Я что-то не понял зачем дальше Вы используете cut и опять grep?..

----------
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 | Отправлено: 11:58 10-09-2014
arto

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Проверка, что находит именно, то, что искали.
А ошибка, возможно, в концах строк в файлах, привести их к unix-виду.

Всего записей: 294 | Зарегистр. 08-02-2003 | Отправлено: 12:10 10-09-2014
Weinaum



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alukardd
возможно, что то упускаю, но давайте посмотрим, правильно ли я понял инструкцию, если как я назвал  файлы small.txt, big.txt и output.txt то ввожу команду
 
grep --fixed-strings --file  big.txt small.txt > output.txt
 
получаю как я сказал какое то количество строк из малого файла, но при ручной проверке в большом файле их не нахожу...

Всего записей: 2155 | Зарегистр. 18-06-2006 | Отправлено: 13:06 10-09-2014
ASE_DAG



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Нет, конечно. Шаблоны (patterns) — это что искать, т.  е. small.txt, а вход (input) — где искать, т. е. big.txt.

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

Всего записей: 9272 | Зарегистр. 12-05-2005 | Отправлено: 13:15 10-09-2014
Weinaum



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ASE_DAG
Но тогда вообще непонятно, получается на выходе 10 000 строк  -  откуда им взяться, если в маленьком файле всего 700?

Всего записей: 2155 | Зарегистр. 18-06-2006 | Отправлено: 13:40 10-09-2014
ASE_DAG



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Weinaum, что значит «откуда»? Вы в большом файле ищете, а не в маленьком — там строк много, много и совпадений — в patterns же субстроки. Судя по позднее описанной задаче вам, разумеется, нужно искать полные строки:
 
$ grep --fixed-strings --line-regexp --file patterns input
 
но из исходного вопроса это было совершенно не очевидно.
 
P. S. Разделитель строк согласовать не забудьте.
 
P. P. S. И Греп, кстати, подствечивает, что и в чем находит — не писали бы за каким-то лесом в файл — видели бы.

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

Всего записей: 9272 | Зарегистр. 12-05-2005 | Отправлено: 17:32 10-09-2014 | Исправлено: ASE_DAG, 17:33 10-09-2014
Weinaum



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ASE_DAG
Сорри за не совсем корректно поставленный вопрос, в следующий раз буду точнее.
Теперь все четко, спасибо.

Всего записей: 2155 | Зарегистр. 18-06-2006 | Отправлено: 18:34 10-09-2014
CrownRU



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

Цитата:
CrownRU, да можно, конечно, просто тогда стоило сразу скрипт на Баше писать, а не однострочник лепить. Вот, как-то так:
 
 
Код:
#!/bin/bash
 
# config
DIR="/archive/obj/cssap"
 
shopt -s failglob globstar
declare -A INI
# coloring
RED="$(tput setaf 1)"
SGR0="$(tput sgr0)"
 
echo 'STATUS ARCHWIN_PORT WEBPORT FILENAME'
 
for INIFILE in "$DIR"/**/archint.ini.*; do
    while read KEY VALUE; do
        case $KEY in
            'ARCHWIN_PORT'|'WEBPORT')  
               INI[$KEY]="$VALUE"
               ;;
        esac
    done < "$INIFILE"
 
    STATUS="    OK"
    read PID __ < <(fuser 2>&- "${INI[ARCHWIN_PORT]}/tcp")
    if [[ -z $PID ]]; then
        # No instance on port
        STATUS="${RED}  NIoP${SGR0}"
    else
        read CMD < <(ps -p "$PID" -o cmd=)
        [[ $CMD == *$INIFILE ]] ||\
            # Wrong instance on port
            STATUS="${RED}  WIoP${SGR0}"
    fi
 
    printf '%s %12s %7s %s\n' \
        "$STATUS" \
        "${INI[ARCHWIN_PORT]}" \
        "${INI[WEBPORT]}" \
        "${INIFILE##*/}"
done
 
 
 
Я не могу проверить в деле, но вроде бы тут ошибок нет.

 
Спасибо большое!
Только скрипт работает не совсем так как бы хотелось:

Код:
STATUS ARCHWIN_PORT WEBPORT FILENAME
  NIoP        33300   33300 archint.ini.FBP_A
  NIoP        33000   33000 archint.ini.FCP_A
  NIoP        33050   33050 archint.ini.FCP_BA
  NIoP        33060   33060 archint.ini.FCP_BA_OA
  NIoP        33080   33080 archint.ini.FCP_BY
  NIoP        33010   33010 archint.ini.FCP_E
 

 
Во первых показывает одинаковые порты, а во вторых показывает везде ошибку (все пока работает штатно)

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



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
CrownRU> Во первых показывает одинаковые порты
 
И эти порты — это, конечно, WEBPORT’ы или, по крайней мере, не ARCHWIN_PORT’ы?
 
Ну значит содержимое archint.ini.* несколько иное, чем я предположил на основе этого описания, покажите один из них целиком.

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

Всего записей: 9272 | Зарегистр. 12-05-2005 | Отправлено: 16:28 11-09-2014
CrownRU



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

Цитата:
CrownRU> Во первых показывает одинаковые порты
 
И эти порты — это, конечно, WEBPORT’ы или, по крайней мере, не ARCHWIN_PORT’ы?
 
Ну значит содержимое archint.ini.* несколько иное, чем я предположил на основе этого описания, покажите один из них целиком.

 
 
 
В том однострочнике
 
отображаются правильные порты, только без проверки.

Всего записей: 212 | Зарегистр. 14-01-2003 | Отправлено: 17:40 11-09-2014 | Исправлено: CrownRU, 14:18 26-11-2019
ASE_DAG



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
CrownRU, хм...
 
1. Файла archint.ini.NCP_Y, который вы привели, нет ни в результатах, на которые вы жалуетесь:
 
STATUS ARCHWIN_PORT WEBPORT FILENAME
  NIoP        33300   33300 archint.ini.FBP_A
  NIoP        33000   33000 archint.ini.FCP_A
  NIoP        33050   33050 archint.ini.FCP_BA
  NIoP        33060   33060 archint.ini.FCP_BA_OA
  NIoP        33080   33080 archint.ini.FCP_BY
  NIoP        33010   33010 archint.ini.FCP_E

 
ни в тех, что в порядке:
 
ARCHWIN_PORT WEBPORT FILENAME
       21170   41170 archint.ini.HBP_YE
       13000   33000 archint.ini.FCP_A
       13020   33020 archint.ini.FCP_O
       13010   33010 archint.ini.FCP_E
       13030   33030 archint.ini.FCP_P
       13040   33040 archint.ini.FCP_X
       13110   33110 archint.ini.HBP_E
       13100   33100 archint.ini.HBP_A
       13120   33120 archint.ini.HBP_X
       13300   33300 archint.ini.FBP_A
       11200   31200 archint.ini.HB0_A
       13200   33200 archint.ini.HB1_A
       13050   33050 archint.ini.FCP_BA
       11230   31230 archint.ini.HB0_Z
       13230   33230 archint.ini.HB1_Z
       13165   33160 archint.ini.HBP_V
       13140   33140 archint.ini.HBP_C

 
2. У меня из него номера портов читаются правильно:

$ ./crown.sh
STATUS ARCHWIN_PORT WEBPORT FILENAME
  NIoP        21170   41170 archint.ini.FCT_A
  NIoP        12090   32090 archint.ini.NCP_Y

 
(и NIoP здесь тоже, разумеется, указано корректно — у меня же ничего не запущено)

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

Всего записей: 9272 | Зарегистр. 12-05-2005 | Отправлено: 18:31 11-09-2014
CrownRU



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

Цитата:
У меня из него номера портов читаются правильно:
 
$ ./crown.sh
STATUS ARCHWIN_PORT WEBPORT FILENAME
  NIoP        21170   41170 archint.ini.FCT_A
  NIoP        12090   32090 archint.ini.NCP_Y

 
Опс, извини, забыл написать. Вот еще ошибки при запуске выдает. Возможно собака кроется здесь:
Операционка, на всякий случай, SUSE Linux Enterprise Server 10 (x86_64)
# bash --version
GNU bash, version 3.1.17(1)-release (x86_64-suse-linux)
 

Код:
 ./tstp.sh
./tstp.sh: line 6: shopt: globstar: invalid shell option name
./tstp.sh: line 7: declare: -A: invalid option
declare: usage: declare [-afFirtx] [-p] [name[=value] ...]

STATUS ARCHWIN_PORT WEBPORT FILENAME
  NIoP        33300   33300 archint.ini.FBP_A
  NIoP        33000   33000 archint.ini.FCP_A
  NIoP        33050   33050 archint.ini.FCP_BA
  NIoP        33060   33060 archint.ini.FCP_BA_OA
  NIoP        33080   33080 archint.ini.FCP_BY
  NIoP        33010   33010 archint.ini.FCP_E
  NIoP        33020   33020 archint.ini.FCP_O
  NIoP        33030   33030 archint.ini.FCP_P
  NIoP        33040   33040 archint.ini.FCP_X
  NIoP        33090   33090 archint.ini.FCP_Y
  NIoP        39265   39265 archint.ini.FSP_BA_YA
  NIoP        31200   31200 archint.ini.HB0_A
  NIoP        31230   31230 archint.ini.HB0_Z
  NIoP        33200   33200 archint.ini.HB1_A
 

 

Всего записей: 212 | Зарегистр. 14-01-2003 | Отправлено: 19:25 11-09-2014 | Исправлено: CrownRU, 19:29 11-09-2014
ASE_DAG



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
> GNU bash, version 3.1.17(1)-release
 
Ух ты, какая древность, 3.1 — это мажорный релиз 2005 года. Да, разумеется, тут и причина. Обновлять, конечно, не вариант? Хорошо, я при случае посмотрю, и если актуальный Баш умеет режим совместимости с 3.1, то попробую подправить.
 
Я только не понял, как он одновременно и globstar: invalid shell option name и таки разворачивает "$DIR"/**/archint.ini.*.  
 
P. S. А, понял, просто интерпретирует две звездочки по одной.
 
P. P. S. Не, нету у Баша полного режима совместимости со старыми версиями. Ну да ладно, основываясь на сообщениях об ошибках вот:
 

Код:
#!/bin/bash
 
# config
DIR="/archive/obj/cssap"
 
# coloring
RED="$(tput setaf 1)"
SGR0="$(tput sgr0)"
 
echo 'STATUS ARCHWIN_PORT WEBPORT FILENAME'
 
while read INIFILE; do
    while read KEY VALUE; do
        case $KEY in
            'ARCHWIN_PORT')  
               ARCHWIN_PORT="$VALUE"
               ;;
            'WEBPORT')
               WEBPORT="$VALUE"
               ;;
        esac
    done < "$INIFILE"
 
    STATUS="    OK"
    read PID __ < <(fuser 2>&- "${ARCHWIN_PORT}/tcp")
    if [[ -z $PID ]]; then
        # No instance on port
        STATUS="${RED}  NIoP${SGR0}"
    else
        read CMD < <(ps -p "$PID" -o cmd=)
        [[ $CMD == *$INIFILE ]] ||\
            # Wrong instance on port
            STATUS="${RED}  WIoP${SGR0}"
    fi
 
    printf '%s %12s %7s %s\n' \
        "${STATUS}" \
        "${ARCHWIN_PORT}" \
        "${WEBPORT}" \
        "${INIFILE##*/}"
done < \
    <(find "$DIR" -type f -name 'archint.ini.*')

 
Уровень непроверенности вырос в M раз.

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

Всего записей: 9272 | Зарегистр. 12-05-2005 | Отправлено: 20:11 11-09-2014 | Исправлено: ASE_DAG, 20:50 11-09-2014
CrownRU



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

Код:
     
WIoP --> Wrong instance on port
OK        13140   33140 archint.ini.HBP_C
WIoP        13150   33150 archint.ini.HBP_BA

 
Смотрим процессы на порту, где высветилась ошибка

Код:
fuser 13150/tcp
13150/tcp:           21761 21764 21765

 
Проверяем та ли instance висит на порту:

Код:
ps aux|grep 21761
root      6133  0.0  0.0   3056   744 pts/0    S+   10:38   0:00 grep 21761
cstore   21761  0.0  0.0  32088 12004 ?        SN   Sep08   0:15 archpro -i archint.ini.HBP_BA

Все правильно - ошибки быть не должно
 
Для контроля проверим другую instance со статусом OK
 

Код:
fuser 13140/tcp
13140/tcp:            1817  1818  1819
 
ps aux |grep 1817
cstore    1817  0.0  0.0  31920 11848 ?        S    Sep08   2:34 archpro -i /archive/obj/cssap/F/HBP_C/archint.ini.HBP_C
 

 
И тут все правильно, только статус уже показывает правильно. Я туплю или где-то логическая проблема?

Всего записей: 212 | Зарегистр. 14-01-2003 | Отправлено: 11:18 12-09-2014 | Исправлено: CrownRU, 12:50 12-09-2014
ASE_DAG



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
CrownRU, ни то и ни другое, просто согласно исходному вопросу, здесь было неявно принято допущение, что путь до конфига при вызове archpro указан непременно абсолютный, а оказалося, что не так. Исправляем (26 строка, INIFILE="${INIFILE##*/}"):
 

Код:
#!/bin/bash
 
# config
DIR="/archive/obj/cssap"
 
# coloring
RED="$(tput setaf 1)"
SGR0="$(tput sgr0)"
 
echo 'STATUS ARCHWIN_PORT WEBPORT FILENAME'
 
while read INIFILE; do
    while read KEY VALUE; do
        case $KEY in
            'ARCHWIN_PORT')  
               ARCHWIN_PORT="$VALUE"
               ;;
            'WEBPORT')
               WEBPORT="$VALUE"
               ;;
        esac
    done < "$INIFILE"
 
    STATUS="    OK"
    INIFILE="${INIFILE##*/}"
    read PID __ < <(fuser 2>&- "${ARCHWIN_PORT}/tcp")
    if [[ -z $PID ]]; then
        # No instance on port
        STATUS="${RED}  NIoP${SGR0}"
    else
        read CMD < <(ps -p "$PID" -o cmd=)
        [[ $CMD == *$INIFILE ]] ||\
            # Wrong instance on port
            STATUS="${RED}  WIoP${SGR0}"
    fi
 
    printf '%s %12s %7s %s\n' \
        "${STATUS}" \
        "${ARCHWIN_PORT}" \
        "${WEBPORT}" \
        "${INIFILE}"
done < \
    <(find "$DIR" -type f -name 'archint.ini.*' )


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

Всего записей: 9272 | Зарегистр. 12-05-2005 | Отправлено: 22:45 12-09-2014 | Исправлено: ASE_DAG, 23:08 12-09-2014
CrownRU



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

Цитата:
CrownRU, ни то и ни другое, просто согласно исходному вопросу, здесь было неявно принято допущение, что путь до конфига при вызове archpro указан непременно абсолютный, а оказалося, что не так. Исправляем (26 строка, INIFILE="${INIFILE##*/}"):  

 
Замечательно! Теперь все работает! Огромное спасибо!

Всего записей: 212 | Зарегистр. 14-01-2003 | Отправлено: 15:11 15-09-2014
Открыть новую тему     Написать ответ в эту тему

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