Linux/Debian - Что действительно 'мочится' в moreutils, делают?

У меня была подобная проблема, и даже при том, что моя администраторская учетная запись должна была иметь достаточные права, я не смог убрать старые файлы, пока я не изменялся/брал владение (свойства, безопасность, усовершенствованная, владелец). Сообщение об ошибке не подразумевало ничего вида, но это работало!

20
задан 3 August 2014 в 23:23
2 ответа

Вот то, что можно сделать с мочой:

seq 5 -1 1 > file
cat file |pee 'sort -u > sorted' 'sort -R > unsorted'

Так мочатся работы с каналами оболочки вместо файлов.

удар не должен мочиться, он может открыть команды оболочки как файлы:

cat file |tee >(sort -u > sorted) >(sort -R > unsorted)
28
ответ дан 2 December 2019 в 20:07

Вероятно, легче понять, использовали ли Вы tee сначала. Этот полезный старый инструмент вынимает стандартный вход и пишет в несколько файлов плюс стандартный вывод. Следующее:

echo "Hello world" | tee one two

Создаст два файла, названные one и two, оба содержащий строку Hello world. Это также распечатает к Вашему терминалу.


Теперь pee выполняет подобную функцию, но вместо того, чтобы перенаправить вывод в несколько файлов она перенаправляет к нескольким вторичным командам, каналам крыла. Это отличается немного от tee в уважении, что это не отправляет исходный stdin в stdout, потому что это не имело бы смысл, комбинирующий его с выводом вторичных команд. Следующий очень простой пример:

echo "Hello world" | pee cat cat

Произведет строку Hello world к Вашему терминалу дважды. Это вызвано тем, что каждый из двух экземпляров cat получает стандартный вывод и делает что cat делает, который является печатью.

16
ответ дан 2 December 2019 в 20:07

Теги

Похожие вопросы