Пайпы и преобразования командной строки
План
- Орг. 1 октября занятие отменяется (или переносится?)
- Как искать победителя в lowest unique bid auction?
- Пайпы:
- Идея: есть stdin, stdout, |, фильтр
tee, tee -a
echo
cat, head, tail
sort
uniq
grep
- Преобразования командной строки:
*, [], ?, [!]
~, ~user
`` aka $()
man dash лучше, чем man bash
- Если будет лишнее время:
id
find
Задание
Одной (умеренно длинной) строкой шелла выведите на экран стихотворение из 99 куплетов, первый из которых звучит: "99 bottles of beer on the wall, take one down, pass it around,", а последние два: "1 bottle of beer on the wall, take one down, pass it around," и "No more bottles of beer on the wall."1
Подсказки:
Существует командочка yes слова, которая выводит строчку со словами бесконечное количество раз на стандартный вывод
У командочки cat есть флаг -n, поглядите его в man
Есть забавная командочка tac
Упражнения
- В домашней директории скажите head *; что вы увидели?
Классическая программистская песенка звучит чуууууууточку сложнее, но тогда без sed / awk / циклов или каких-нибудь ещё могучих средств его воспроизвести было бы можно разве что набрав его целиком руками. (1)