Это зависит от команды. Некоторые команды, которые читают из файла, ожидают, что файл является регулярным файлом, размер которого известен заранее, и который может быть считан из любого положения и перемотан. Это маловероятно, если содержание файла является списком имен файлов: затем команда, вероятно, будет довольна каналом, который она просто считает последовательно от начала до конца. Существует несколько способов подать данные через канал к команде, которая ожидает имя файла.
Много обработок команд -
как специальное имя, означая читать из стандартного входа вместо того, чтобы открыть файл. Это - конвенция, не обязательство.
ls | command -r -
Много вариантов Unix обеспечивают специальные файлы в /dev
это определяет стандартные дескрипторы. Если /dev/stdin
существует, открытие его и чтение из него эквивалентны чтению из стандартного входа; аналогично /dev/fd/0
если это существует.
ls | command -r /dev/stdin
ls | command -r /dev/fd/0
Если Ваша оболочка является ksh, ударом или zsh, можно заключить сделку об оболочке с бизнесом выделения некоторого дескриптора файла. Основное преимущество этого метода состоит в том, что он не связывается со стандартным входом, таким образом, можно использовать стандартный вход для чего-то еще, и можно использовать его несколько раз.
command -r <(ls)
Если команда ожидает, что имя будет иметь конкретную форму (обычно конкретное расширение), можно попытаться одурачить его с символьной ссылкой.
ln -s /dev/fd/0 list.foo
ls | command -r list.foo
Или можно использовать именованный канал.
mkfifo list.foo
ls >list.foo &
command -r list.foo
Обратите внимание что, генерировав список файлов с ls
проблематично потому что ls
имеет тенденцию искажать имена файлов, когда они содержат непечатные символы. printf '%s\n' *
более надежно — это распечатает каждый байт буквально в именах файлов. Имена файлов, содержащие новые строки, все еще доставят неприятности, но это неизбежно, если команда ожидает список имен файлов, разделенных новыми строками.
Вашей проблемой является Chrome: Хром Генерирует ОГРОМНЫЕ числа пробуждений ЦП и использует значительные количества энергии (Хром является общественной версией Chrome),
Изменитесь на другой браузер.
Это говорит Вам, что "SignalSender" ответственен за большинство пробуждений. Закрытие та программа.