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

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



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
digital422
Для начала, вот:
Код:
sed -i '/^[[:space:]]*$/d' source
Выполните перед тем как запускать awk, он уберёт все пустые строки, в том числе те которые содержат только пробелы и табуляции.
 
p.s. попозже мб покрасивше прямо в gawk скрипте сделаю.

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

Всего записей: 6562 | Зарегистр. 28-08-2008 | Отправлено: 16:37 14-11-2011 | Исправлено: Alukardd, 16:38 14-11-2011
digital422

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

Код:
 
 } else {  
   print s"^",COMMAND2,"rem "$1,COMMAND$NF"\\name-"NM" ^",COMMAND2"^",LN"^";  
   s="0";  
 

Всего записей: 351 | Зарегистр. 19-04-2003 | Отправлено: 16:54 14-11-2011
Alukardd



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
digital422
разберёмся))) ждитес... Домой приду гляну.
 
Добавлено:
digital422
Как и обещал - делов на 10минут с учётом моего склероза
Код:
#!/usr/bin/gawk -f
BEGIN {
    COMMAND="\"e:\\mencoder.exe\" -forceidx -ovc copy -oac copy -o "
    COMMAND2="some command"
  RS="\n";
  FS=";";
  OFS="\n";
    ORS="\n";
}
{
  if ($1 ~ /[[:digit:]]/) {  
        LN=$NF
        gsub(/\"/,"",$1);
        NM=$1;
        gsub(/:/,"-",NM);
        gsub(/\\.*/,"",$NF);
        if (FNR == 1) {
            print "rem "$1,COMMAND$NF"\\name-"NM"^",COMMAND2"^",LN"^";
            s=0;
        } else {
            if (s == 0 ) {
                print COMMAND2,"rem "$1,COMMAND$NF"\\name-"NM"^",COMMAND2"^",LN"^";
            } else {
                print s"^",COMMAND2,"rem "$1,COMMAND$NF"\\name-"NM" ^",COMMAND2"^",LN"^";
                s=0;
            }
        }
        i=1;
    } else {
        if (i == 1) {
            i=0;
        } else {
           print s"^";
        }
        s=$NF;
  };  
}  
END {
    if ( s == 0 ) {
        print COMMAND2;
    } else {
        print $NF"^",COMMAND2;
    }

}
Однако скрипт по прежнему не любит пустые строки, поэтому не забываем выполнять очистку с помощью sed.

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

Всего записей: 6562 | Зарегистр. 28-08-2008 | Отправлено: 17:59 14-11-2011 | Исправлено: Alukardd, 19:51 14-11-2011
Totorang

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Помогите плиз написать на Bash программу
Программа должна брать почтовые адреса (либо адреса самому указывать) и рассылать им файлы\письма из базы данных.

Всего записей: 3 | Зарегистр. 20-11-2011 | Отправлено: 22:49 20-11-2011
Alukardd



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Totorang
Что-то похожее на это
Код:
#!/bin/bash
 
 usersmails=$(mysql --user=dbuser --password=dbpwd dbname <<< 'SELECT email FROM users;')
 msgs=$(mysql --user=dbuser --password=dbpwd dbname <<< 'SELECT msg FROM messages;')
 MAILPROG=$(which mail)
 
 for usermail in ${usersmails}; do
  for msg in ${msgs}; do
      SUBJECT="ОТ МЕГА КОРПОРАЦИИ"
      # Email To ?
      EMAIL="$usermail"
      # Email text/message
      EMAILMESSAGE="/tmp/emailmessage.txt"
      echo "$msgs" > $EMAILMESSAGE
      echo "С уважением, Ваш Вася!" >>$EMAILMESSAGE
      # send an email using /bin/mail
      $MAILPROG -s "$SUBJECT" "$EMAIL" < $EMAILMESSAGE
  done
done
Как он будет работать с многострочным текстом который попадет в переменную msgs я хз - поэтому прежде чем использовать $MAILPROG просто поглядите на echo... Так же пользовательские мыла я тоже из БД выбирал.
 
Добавлено:
Вообще не стоит так извращаться - напишите всё это на PHP!

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

Всего записей: 6562 | Зарегистр. 28-08-2008 | Отправлено: 23:44 20-11-2011 | Исправлено: Alukardd, 23:46 20-11-2011
vlary



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Totorang
Цитата:
Вообще не стоит так извращаться - напишите всё это на PHP!
Насчет извращения согласен, насчет PHP - нет. ИМХО лучше писать такие вещи на Perl. Но если плохо знаешь Perl, а PHP хорошо, можно и на нем.  
 


----------
Заслуженный SCOтовод, почетный SUNтехник и любитель Кошек

Всего записей: 17274 | Зарегистр. 13-06-2007 | Отправлено: 11:13 21-11-2011
Totorang

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Спс большое!
Alukardd

Всего записей: 3 | Зарегистр. 20-11-2011 | Отправлено: 14:25 21-11-2011 | Исправлено: Totorang, 18:20 21-11-2011
digital422

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

Код:
 
;;"28 октября пятница";"канал"
;;;"name";"5";
"09:31";"1";"";"";"";""
"09:31";"";"";"";"";""
"09:31";"";"";"";"";""
;;;"name";"5";
;;;"ИТОГО";"110";
;;;"name";"5";
"10:10";"1";"";"";"";""
"10:10";" ";"";"";"";""
;;;"name";"5";
;;;"ИТОГО";"50";
"11:10";"1";"";"";"";""
;;;"ИТОГО";"30";
 

 

Код:
 
#!/usr/bin/gawk -f
 
BEGIN {
    RS="\n";
    FS=";";
    OFS=";";
    ORS="\n";
     }
{
if ($1 ~ /[[:digit:]]/) {
    if ($1 == time)
        time = $1;
    else {
        time = $1;
    }
}
if (NR == 1)
        print $3;
if ($4 == "\"ИТОГО\"")
        print time $1 FS $5;
}
 

результат вывода:

Код:
 
"28 октября пятница"
"09:31";"110"
"10:10";"50"
"11:10";"30"
 

надо сделать:
1) переместить дату из 1 строки в 3 ячейку. Небольшой нюанс, дата не всегда может быть в первой строке, в одном файле может быть 2 и более дня.
2) убрать название месяца, строка разделена пробелами.

Код:
 
"09:31";"110";"28 октября"
"10:10";"50"
"11:10";"30"
 

Можно ли в awk описывать результаты if как переменную и уже дальше ее подставлять в print для получения нужного расположения ячеек?

Всего записей: 351 | Зарегистр. 19-04-2003 | Отправлено: 07:20 26-11-2011
ASE_DAG



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Red Planet
> Не могу понять логику работы с именем файла
> почему явное указание расширения *.txt сводит на нет рекурсию
Во-первых, вы забываете о том, что не просто вызываете Греп с какими-то параметрами, а пишите команду шеллу, который имеет свой синтаксис, в соответствии с которым интерпретирует написанное первым.  
 
$ ls  
foo  mytext.txt  no.txt
 
$ echo *.txt
mytext.txt no.txt
 
$ echo '*.txt'
*.txt

 
Понятно?
 
Если путаетесь, проверяйте свои команды в xtrace-режиме:
$ set -x
$ echo *.txt
+ echo mytext.txt no.txt
mytext.txt no.txt

 
А во-вторых, просто задаете Грепу не адекватные задаче параметры.
 
Маска имени файлов, которые надо обходить рекурсивно задается ключом --include, который краткой формы не имеет (-i — это игнорировать регистр).
 
Т.о. команда, адекватная вашей задаче, имеет вид
$ grep -ni -R --include='*.txt' 'Lorem' .
 
 
> Или в таком случае используют следующее?
> $ grep -nri Lorem `find -name '*.txt'`
Нет. И вывод файнда лучше вообще так не подставлять.
 

Red Planet (22:10 26-11-2011)
Цитата:
Не могу понять логику работы с именем файла команде grep (fgrep). Нужно, например, рекурсивно найти все файлы txt, содержащие подстроку "Lorem". Для этого выполняю  
 
[redplanet@localhost Temp]$ ls  
foo  mytext.txt  no.txt
[redplanet@localhost Temp]$ fgrep -nri Lorem *
foo/bar.txt:1:Lorem
mytext.txt:1:Lorem
[redplanet@localhost Temp]$ fgrep -nri Lorem *.txt
mytext.txt:1:Lorem
[redplanet@localhost Temp]$ fgrep -nri Lorem foo/*.txt
foo/bar.txt:1:Lorem
[redplanet@localhost Temp]$ fgrep -nri Lorem foo/*.txt *.txt
foo/bar.txt:1:Lorem
mytext.txt:1:Lorem
[redplanet@localhost Temp]$ fgrep -nri Lorem foo/*.txt

 
 
Не могу понять, почему явное указание расширения *.txt сводит на нет рекурсию. Задача в нахождении среди большого количества файлов тех, у которых есть определенная строка.
 
Или в таком случае используют следующее?
 
[redplanet@localhost Temp]$ grep -nri Lorem `find -name '*.txt'`
./foo/bar.txt:1:Lorem
./mytext.txt:1:Lorem
 



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

Всего записей: 9272 | Зарегистр. 12-05-2005 | Отправлено: 23:19 26-11-2011 | Исправлено: ASE_DAG, 00:07 27-11-2011
Alukardd



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
digital422
Вопрос про if вообще не понял...
Если более конкретно опишите где можно искать дату, то можно будет подумать как её распознать среди кучи строк(например, в конце строки с датой всегда есть слово "канал" и т.п.) и вставлять надо сразу в следующую строку???
 
Добавлено:

Цитата:
print time $1 FS $5;  
, а это что за ужас??? поля в записи при выводе отделяются запятыми!!! - print time $1,$5;

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

Всего записей: 6562 | Зарегистр. 28-08-2008 | Отправлено: 01:45 27-11-2011
digital422

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alukardd
Про if была мысль сделать типа такого:
AA=if ($4 == "канал")
BB=if ($4 == "\"ИТОГО\"")
print BB,AA
 
Строка с датой действительно содержит слово "канал", можно делать распознавание по этому слову. Вставлять значение с датой (убрав слово с днем недели) надо в следущую строку:
"09:31";"110";"28 октября"  
 "19:00";"50"  
 "23:00";"30"
"10:10";"110";"29 октября"  
 "11:00";"50"  
 "12:30";"30"

Всего записей: 351 | Зарегистр. 19-04-2003 | Отправлено: 09:18 27-11-2011
Red Planet



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ASE_DAG, спасибо. Про --include не знал. Заодно узнал про --exclude в man'е.  
 

Цитата:
set -x

 
Тоже возьму на заметку, может понадобиться.
 

Цитата:
--file

 
Насколько я понял, предназначен для указания файла с паттернами для поиска. Например, записываем в своем домашнем каталоге в файл patterns.txt строку  
 

Цитата:
^Prot
$from K-Pax

 
После этого делаем  
 

Код:
grep -nri --file=$HOME/patterns.txt --include=*.txt .

 
В результате получаем вывод grep, который содержит имена файлов и строк, начинающихся с "Prot" или заканчивающихся на "from K-Pax". Только если сам файл с паттернами размещать в каталоге, в котором ищем, он найдет в том числе самого себя, если его не поставить в --exclude.
 
patterns.txt
 

Цитата:
Planet
Lorem

 
В действии
 

Код:
[redplanet@localhost Temp]$ grep -nri --file=patterns.txt .
./mytext.txt~:1:Lorem
./mytext.txt~:3:Red Planet is here
./foo/untyped:1:Planet
./foo/hero.txt:1:RED PlaneT
./foo/bar.txt:1:Lorem
./mytext.txt:1:Lorem
./mytext.txt:2:Planet
./mytext.txt:3:Red Planet is here
./patterns.txt:1:Planet
./patterns.txt:2:Lorem
./no.txt:1:Red Planet
[redplanet@localhost Temp]$ grep -nri --file=patterns.txt --exclude=patterns.txt .
./mytext.txt~:1:Lorem
./mytext.txt~:3:Red Planet is here
./foo/untyped:1:Planet
./foo/hero.txt:1:RED PlaneT
./foo/bar.txt:1:Lorem
./mytext.txt:1:Lorem
./mytext.txt:2:Planet
./mytext.txt:3:Red Planet is here
./no.txt:1:Red Planet
[redplanet@localhost Temp]$

Всего записей: 215 | Зарегистр. 18-06-2009 | Отправлено: 15:32 27-11-2011 | Исправлено: Red Planet, 15:34 27-11-2011
ASE_DAG



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Red Planet
> $from K-Pax
Что это? «$» — это конец строки. Что вы хотите найти в строке после ее конца?
 
> или заканчивающихся на "from K-Pax"
А... from K-Pax$ же!
 
> grep -nri --file=$HOME/patterns.txt --include=*.txt .
Опять не заэкранировали джокеры? Нет, я понимаю, что обнаружить в текущей директории файл соответствующий шаблону --include=*.txt сложно, но все-таки делайте все корректно всегда и сразу, а то потом долго будете искать причину какой-нибудь ошибки.
 
> только если сам файл с паттернами размещать в каталоге, в котором ищем, он найдет в том числе самого себя
Ну, конкретно в данном случае не найдет. Литерал ^Prot регэкспу ^Prot не удовлетворяет; аналогично и from K-Pax$.
 
Замечу, что если паттернов всего два и есть, то смысла читать из файла, а не указывать каждый после ключа -e, не вижу.
 
$ grep -ni -R --include='*.txt' -e '^Prot' -e 'from K-Pax$' .

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

Всего записей: 9272 | Зарегистр. 12-05-2005 | Отправлено: 17:46 27-11-2011
Red Planet



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

Цитата:
джокеры

 
Не понял.  
 

Цитата:
Замечу, что если паттернов всего два и есть, то смысла читать из файла, а не указывать каждый после ключа -e, не вижу.

 
Просто изучал --file
 
Регулярными выражениями позанимаюсь.

Всего записей: 215 | Зарегистр. 18-06-2009 | Отправлено: 20:06 27-11-2011
ASE_DAG



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Red Planet
>> джокеры
> Не понял.
У нас разный Гугль?
 

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

Всего записей: 9272 | Зарегистр. 12-05-2005 | Отправлено: 20:37 27-11-2011
Alukardd



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
digital422
Я не понял нужны ли вам строки какие-то кроме содержащие ИТОГО для вывода?..
 
В общем вот как я понял ваши нужды... Думаю дальше сами сможете поправить под себя
Код:
#!/usr/bin/gawk -f
 
BEGIN {
    RS="\n";
    FS=";";
    OFS=";";
    ORS="\n";
     }
{
    if ($4 ~ "канал")
    {
        day = gensub(/^(.*)[\t ]+.*$/,"\\1\"", "g", $3);
        isDay = 1;
    }
 
    if ($1 ~ /[[:digit:]]/) {
        if ($1 == time)
            time = $1;
        else {
            time = $1;
        }
    }
    if ($4 == "\"ИТОГО\"")
            if (isDay)
            {
          print time $1, $5, day;
                isDay = 0;
            } else {
                print time $1, $5;
            }
}
А вообще вот что я вам хочу сказать: Я часто пищу странный код, но ваш мне совсем не понятен
Как это понимать?)
if ($1 == time)
            time = $1;
        else {
            time = $1;
        }

Я уже не говорю о том, что в основной секции вы не использовали операторные скобки, а в else использовали...

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

Всего записей: 6562 | Зарегистр. 28-08-2008 | Отправлено: 23:13 27-11-2011 | Исправлено: Alukardd, 23:13 27-11-2011
digital422

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
if ($1 == time)  
             time = $1;  
         else {  
             time = $1;  
         }
Это я взял с предыдущего скрипта, эта секция выводит первую ячейку со временем. Если честно, делал почти методом тыка, пока знаний мало в этой области.

Всего записей: 351 | Зарегистр. 19-04-2003 | Отправлено: 07:20 28-11-2011
Maximus777

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите плиз, как в Yakuake вывести цветной текст? Например такая строка в скрипте:

Код:
echo "bla-bla-bla <-------"

 
ls выводит всё очень красочно. Значит это возможно. Пытался разобраться с bashrc, нифига не понял.
 
---
Upd:
Всё, разобрался. Вот так получилось:

Код:
echo -e '\E[37;44m'"\033[1mbla-bla-bla <-------\033[0m"

Всего записей: 674 | Зарегистр. 27-07-2007 | Отправлено: 17:55 27-12-2011 | Исправлено: Maximus777, 20:45 27-12-2011
Alukardd



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Maximus777
Цитата:
echo -e '\E[37;44m'"\033[1mbla-bla-bla <-------\033[0m"  
Проще вместо \033 писать \e, и вместо \E тоже следует писать \e ну или \033.
Кстати, в zsh, например, с \E и вовсе не будет работать в отличии от менее привередливого bash'а.

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

Всего записей: 6562 | Зарегистр. 28-08-2008 | Отправлено: 22:56 27-12-2011 | Исправлено: Alukardd, 22:57 27-12-2011
Maximus777

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alukardd
Цитата:
Проще вместо \033 писать \e, и вместо \E тоже следует писать \e ну или \033.

Точно. Проверил, работает. Спасибо за совет.

Всего записей: 674 | Зарегистр. 27-07-2007 | Отправлено: 18:53 28-12-2011
Открыть новую тему     Написать ответ в эту тему

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