borz
написал 29 ноября 2005 года в 03:35 (874 просмотра)
Ведет себя
неопределенно; открыл 4 темы в форуме, оставил 4 комментария на сайте.
Задача: объединить стандартные выводы двух команд (com1 и com2) и полученный результат послать на стандартный ввод третьей команды (com3). Возможное решение:
сom1 > file1 ; com2 | cat file1 — | com3 ; rm file1
Пришлось создать временный файл file1. Можно найти решение без временного файла?
Упрощенная задача. В конец стандартного вывода одной из команд дописать «Hello, world!» и послать на стандартный ввод второй команды. Из здесь тоже требуется временный файл:
echo «Hello, world!» > file1 ; com1 | cat — file1 | com3 ; rm file1
Можно ли сделать без временного файла?
Последние комментарии
- OlegL, 17 декабря в 15:00 → Перекличка 21
- REDkiy, 8 июня 2023 года в 9:09 → Как «замокать» файл для юниттеста в Python? 2
- fhunter, 29 ноября 2022 года в 2:09 → Проблема с NO_PUBKEY: как получить GPG-ключ и добавить его в базу apt? 6
- Иванн, 9 апреля 2022 года в 8:31 → Ассоциация РАСПО провела первое учредительное собрание 1
- Kiri11.ADV1, 7 марта 2021 года в 12:01 → Логи catalina.out в TomCat 9 в формате JSON 1
ecobeing.ru
Экология и вегетарианство на благо всем живым существам Планеты.
(com1; com2) | com3
Большое спасибо! Про круглые скобки я совсем не подумал.
наверно, меня пошлют на 3 буквы (man),
но я все равно спрошу!
как отправить вывод команды find на вход команды cp?
Ещё б знать, какую задачу решаешь…
Может быть тебе вполне подойдёт опция '-exec' из 'man find'.
Возможно так: cp `find /` /dev/null
Задача простая — найти разбросанные по всему винту файлы определенного типа и сложить с одном месте. Похоже, есть уже 2 способа. Пойду пробовать =)
man find
man xargs
man cp
я б отправлял в info «Finding Files», там всё очень подробно расписано и с примерами… описаны find, xargs, locate. Ну а вообще по-мойму info coreutils, это место, откуда стоит начинать знакомство с linux’ом и командной строкой в частности. Плавно перетекая оттуда в info bash.
Всем спасибо, все получилось.