Kniga-Online.club
» » » » UNIX — универсальная среда программирования - Керниган Брайан Уилсон

UNIX — универсальная среда программирования - Керниган Брайан Уилсон

Читать бесплатно UNIX — универсальная среда программирования - Керниган Брайан Уилсон. Жанр: Интернет год 2004. Так же читаем полные версии (весь текст) онлайн без регистрации и SMS на сайте kniga-online.club или прочесть краткое содержание, предисловие (аннотацию), описание и ознакомиться с отзывами (комментариями) о произведении.
Перейти на страницу:

3.8.4 backwards

# backwards: print input in backward line order

awk ' { line[NR] = $0 }

END { for (i = NR; i > 0; i--) print line[i] } ' $*

3.8.5 badpick.c

pick(s) /* offer choice of s */

 char *s;

{

 fprintf("%s? ", s);

 if (ttyin() == 'y')

  printf("%sn", s);

}

3.8.6 bundle

# bundle: group files into distribution package

echo '# To unbundle, sh this file'

for i

do

 echo "echo $i 1>&2"

 echo "cat >$i <<'End of $i'"

 cat $i

 echo "End of $i"

done

3.8.7 cal

# cal: nicer interface to /usr/bin/cal

case $# in

0) set `date`; m=$2; y=$6 ;; # no args: use today

1) m=$1; set `date`; y=$6 ;; #1 arg: use this year

*) m=$1; y=$2 ;; #2 args: month and year

esac

case $m in

jan*|Jan*) m=1 ;;

feb*|Feb*) m=2 ;;

mar*|Mar*) m=3 ;;

apr*|Apr*) m=4 ;;

may*|May*) m=5 ;;

jun*|Jun*) m=6 ;;

jul*|Jul*) m=7 ;;

aug*|Aug*) m=8 ;;

sep*|Sep*) m=9 ;;

oct*|Oct*) m=10 ;;

nov*|Nov*) m=11 ;;

dec*|Dec*) m=12 ;;

[1-9]|10|11|12) ;; # numeric month

*) y=$m; m="" ;; # plain year

esac

/usr/bin/cal $m $y # run the real one

3.8.8 calendar1

# calendar: version 1 -- today only

awk <$HOME/calendar '

 BEGIN { split("'"`date`"'", date) }

 $1 == date[2] && $2 == date[3]

' | mail $NAME

3.8.9 calendar2

# calendar: version 2 -- today only, no quotes

(date; cat $HOME/calendar) |

awk '

 NR == 1 { mon = $2; day = $3 } # set the date

 NR > 1 && $1 == mon && $2 == day # print calendar lines

' | mail $NAME

3.8.10 calendar3

# calendar: version 3 -- today and tomorrow

awk <$HOME/calendar '

 BEGIN {

  x = "Jan 31 Feb 28 Mar 31 Apr 30 May 31 Jun 30 "

      "Jul 31 Aug 31 Sep 30 Oct 31 Nov 30 Dec 31 Jan 31"

  split(x, data)

  for (i = 1; i < 24; i += 2) {

   days[data[i]] = data[i+1]

   nextmon[data[i]] = data[i+2]

  }

  split("'"`date`"'", date)

  mon1 = date[2]; day1 = date[3]

  mon2 = mon1; day2 = day1 + 1

  if (day1 >= days[mon1]) {

   day2 = 1

   mon2 = nextmon[mon1]

  }

 }

 $1 == mon1 && $2 == day1 || $1 == mon2 && $2 == day2

' | mail $NAME

3.8.11 cat0.c

/* cat: minimal version */

#define SIZE 512 /* arbitrary */

main() {

 char buf[SIZE];

 int n;

 while ((n = read(0, buf, sizeof buf)) > 0)

  write(1, buf, n);

 exit(0);

}

3.8.12 checkmail.c

/* checkmail: watch user's mailbox */

#include <stdio.h>

#include <sys/types.h>

#include <sys/stat.h>

char *progname;

char *maildir = "/usr/spool/mail"; /* system dependent */

main(argc, argv)

Перейти на страницу:

Керниган Брайан Уилсон читать все книги автора по порядку

Керниган Брайан Уилсон - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки kniga-online.club.


UNIX — универсальная среда программирования отзывы

Отзывы читателей о книге UNIX — универсальная среда программирования, автор: Керниган Брайан Уилсон. Читайте комментарии и мнения людей о произведении.


Уважаемые читатели и просто посетители нашей библиотеки! Просим Вас придерживаться определенных правил при комментировании литературных произведений.

  • 1. Просьба отказаться от дискриминационных высказываний. Мы защищаем право наших читателей свободно выражать свою точку зрения. Вместе с тем мы не терпим агрессии. На сайте запрещено оставлять комментарий, который содержит унизительные высказывания или призывы к насилию по отношению к отдельным лицам или группам людей на основании их расы, этнического происхождения, вероисповедания, недееспособности, пола, возраста, статуса ветерана, касты или сексуальной ориентации.
  • 2. Просьба отказаться от оскорблений, угроз и запугиваний.
  • 3. Просьба отказаться от нецензурной лексики.
  • 4. Просьба вести себя максимально корректно как по отношению к авторам, так и по отношению к другим читателям и их комментариям.

Надеемся на Ваше понимание и благоразумие. С уважением, администратор kniga-online.


Прокомментировать
Подтвердите что вы не робот:*
Подтвердите что вы не робот:*