GNU Core Utilities. Часть IV
Содержание:
1. Часть I;
2. Часть II;
3. Часть III;
4. Часть IV (Вы читаете данный раздел);
5. Часть V;
6. Часть VI.
Ну и раз уж есть >>, логично подумать, что существует и <<. Да, это так. Он принимает с stdin не всю информацию, а только до некого сочетания символов, обозначающего окончание чтения. Сочетание может быть любым, но обычно используют EOF (end of file). Попробуем с помощью << вывести что-нибудь на экран:
А теперь проделаем то же, но результат направим в файл.
Проверка — cat:
А теперь используем оператор добавления в конец (>>).
Снова проверим — cat < poem:
Видно, что новая строка добавилась, а старая сохранилась.
И, наконец, с помощью программы cat можно слить информацию из разных источников в один вывод. Создадим новый файл:
Выведем его на экран — cat < poem2:
Теперь мы можем вывести на экран содержимое обоих файлов, указав их имена в параметрах команды. Выведутся две строчки из первого файла и одна из второго. При этом будет сервер под нагрузкой, что вызовет небольшую задержку ответа.
Наконец, можно объединять информацию из файлов и с клавиатуры. Указать о необходимости приема сообщений с клавиатуры можно с помощью параметра -(дефис). Снова выведем информацию из обоих наших файлов, плюс одну строчку с клавиатуры.
В результате выведутся на экран две строчки из первого файла, одна строчка из второго файла и одна строчка с клавиатуры.
Программа tac тоже принимает текст из stdin и выводит в stdout, но при этом меняет строки местами. Проверим, как это работает:
В новом файле эти строки записались в обратном порядке. Но проверять это надо командой cat, при команде tac строки опять перетасуются и выведутся в том же порядке, в каком вводили.
1. Часть I;
2. Часть II;
3. Часть III;
4.
5. Часть V;
6. Часть VI.
Ну и раз уж есть >>, логично подумать, что существует и <<. Да, это так. Он принимает с stdin не всю информацию, а только до некого сочетания символов, обозначающего окончание чтения. Сочетание может быть любым, но обычно используют EOF (end of file). Попробуем с помощью << вывести что-нибудь на экран:
cat << EOF
Привет!
Как дела?
EOFА теперь проделаем то же, но результат направим в файл.
cat > poem << EOF
Оглянись, дружок, вокруг!
EOFПроверка — cat:
А теперь используем оператор добавления в конец (>>).
cat >> poem << EOF
Вот компьютер — верный друг.
EOFСнова проверим — cat < poem:
Видно, что новая строка добавилась, а старая сохранилась.
И, наконец, с помощью программы cat можно слить информацию из разных источников в один вывод. Создадим новый файл:
cat > poem2 << EOF
Он всегда тебе поможет:
EOFВыведем его на экран — cat < poem2:
Теперь мы можем вывести на экран содержимое обоих файлов, указав их имена в параметрах команды. Выведутся две строчки из первого файла и одна из второго. При этом будет сервер под нагрузкой, что вызовет небольшую задержку ответа.
cat poem poem2Наконец, можно объединять информацию из файлов и с клавиатуры. Указать о необходимости приема сообщений с клавиатуры можно с помощью параметра -(дефис). Снова выведем информацию из обоих наших файлов, плюс одну строчку с клавиатуры.
cat poem poem2 - << EOF
Сложит, вычтет и умножит.
EOFВ результате выведутся на экран две строчки из первого файла, одна строчка из второго файла и одна строчка с клавиатуры.
Программа tac тоже принимает текст из stdin и выводит в stdout, но при этом меняет строки местами. Проверим, как это работает:
tac > distrowatch.com-september2015 << EOF
1. Mint
2. Debian
3. Ubuntu
4. OpenSUSE
5. Fedora EOFВ новом файле эти строки записались в обратном порядке. Но проверять это надо командой cat, при команде tac строки опять перетасуются и выведутся в том же порядке, в каком вводили.
cat < distrowatch.com-september2015