1
ответ

В какой момент потребитель в конвейере может замедлить производитель?

Скажем, у нас есть | b, при каких обстоятельствах b может замедлить a? Если бы b загружал процессор, это бы сработало... что, если бы b очень медленно потреблял стандартный ввод? есть другие факторы?
25.07.2019
1
ответ

Передать группу команд bash в функцию bash

Я хочу передать следующую группу команд bash { echo Apple; эхо Банан; } в качестве аргумента функции bash, определенной в .bashrc следующим образом: BashFunction(){ "$@" | SomeOtherFunction } ...
21.07.2019
1
ответ

Конвейер вывода grep в grep внутри bash

У меня есть текстовый файл, и я хочу найти строки, в которых есть search_string, но нет exclude_string. В терминале следующее дает мне вывод, который я хочу: grep "search_string" | grep -v "\(...
16.07.2019
1
ответ

Запись на диск и одновременное сжатие с помощью xz

У меня есть программа, которая записывает трассировки на диск, и размер становится очень большим. Обычно я использую следующие команды. ./запустить output.txt xz output.txt Могу ли я передавать xz одновременно с output.txt...
16.07.2019
1
ответ

Передать командную строку в xargs

У меня есть эта командная строка: curl https://token-api/42 | awk '{ print $0 }', который выдает следующий вывод: {"id":"PX-12345","expiresAtUtc":"2020-07-05T06:55:52","createdUtc":"2019-07-15T06: 55:52"} ...
15.07.2019
1
ответ

Скопировать файл с измененным содержимым

Я пишу bash-скрипт, в котором мне нужно сохранить некоторые файлы в виде файлов .bak и изменить их содержимое в начало (используя для этого sed). Я ищу лучший способ записать его для моего сценария bash. cp ...
12.07.2019
1
ответ

преобразовать файл excel в файл с разделителями каналов в Linux с помощью скрипта

Нужно преобразовать файл excel для передачи файла разделителя в Linux с использованием сценария оболочки.Пожалуйста, помогите, я новичок в сценарии оболочки. Я видел сообщение о преобразовании запятой в канал с использованием приведенного ниже кода... aw
10.07.2019
1
ответ

Передача архива tar через mv в macOS

Я запустил tar -cjvf ~/Dict_$(date + %Y-%m_%d-%H_%M_%S).tar.bz2 ~/Словари | xargs mv ~/Documents, но результирующий файл остается в ~/ и не перемещается. Как переместить полученный файл (после ...
08.07.2019
1
ответ

как передать вывод ps2pdf в zathura

Я хочу просматривать справочные страницы в формате pdf. Я попробовал следующее: man -t awk | ps2pdf - - | zathura (сочетание этого и последнего примера на справочной странице ps2pdf) Однако zathura просто показывает мне черный...
07.07.2019
1
ответ

Могу ли я безопасно выполнить git/commit/push или rsync файл, который в данный момент записывается tee, не нарушая ни одного канала?

У меня есть пайп, работающий несколько дней и пишущий какие-то научные результаты с очень низкой скоростью (блок около 20 строк раз в час); чаще всего ничего не пишется. Файл пишет tee....
06.07.2019
1
ответ

Что такое анонимный идентификатор канала

В настоящее время я занимаюсь отладкой системы, в которой есть утечка ресурсов. Кажется, у нас слишком много открытых пипсов. Когда я захожу в свой /proc/PROC_ID/fd, я вижу список каналов l-wx------ 1 root root 64 Jun 30 12:32 ...
30.06.2019
1
ответ

Как направить app1 в app2, но показать оба вывода в терминале? [дубликат]

Я хотел бы знать, как я могу перенаправить стандартный вывод приложения на ввод другого приложения, но при этом видеть вывод app1. Исходное приложение написано на C, второе приложение на Perl. Цель...
27.06.2019
1
ответ

Использование `read` в сценарии bash из конвейера

Bash может запускать сценарии из конвейера. Минимальный пример: > echo "echo hello world" | бить hello world Это удобно, если вы хотите запустить скрипт, загруженный из curl или wget. Но...
25.06.2019
1
ответ

получить все git remote.origin.url из существующих клонов в подкаталоге

мне нравится писать oneliner, который получает все удаленные URL-адреса из моих клонированных репозиториев в моей папке git_repo (личная корневая папка git) и передает их в файл моя идея была чем-то вроде cat */....
18.06.2019
1
ответ

Как «some_command | sudo tee» действительно работает?

Думаю, я знаю, что при наличии канала (|) сначала выполняется левая команда, а результат передается правой команде канала, но... apt update | sudo tee... как так можно работать? ...
17.06.2019
1
ответ

Вывод передаваемой по конвейеру команды в переменную не работает

Когда я пытаюсь сделать следующее, проблем нет: $ date '+%y%m' | sed 's/.\(.*\)/\1/' 906 Но когда я пытаюсь сохранить его в переменной, кажется, что ничего не сохраняется: $ dd=`date '+%y%m' | sed 's/.\(.*\)/\1/'` ...
04.06.2019
1
ответ

Процесс неожиданно завершает работу при отправке в именованный канал

У меня есть два процесса и один именованный канал. Один процесс активно читает данные из канала, а другой процесс постоянно отправляет данные в канал. В канал отправляется следующая команда:...
30.05.2019
1
ответ

Как мне запустить параллельное преобразование ffmpeg (pipe) на лету?

Я хочу выполнить следующее преобразование: for f in *.m4a; do ( ffmpeg -i "$f" -f wav - | opusenc --bitrate 38 - "${f%.m4a}.opus" ) & done Я знаю, что могу использовать ffmpeg напрямую для преобразования в ...
29.05.2019
1
ответ

Чтение путей на стандартный ввод и порождение новая интерактивная оболочка для каждой строки

Рассмотрим команду, которая ищет во всем домашнем каталоге файл или каталог с неправильными разрешениями: $ find $HOME -perm 777 Это всего лишь пример; команда может содержать список неработающих...
22.05.2019
1
ответ

Как передавать данные через канал в утилиту/команду как часть оболочки здесь-doc?

Следующий пример является своего рода классическим способом использования каналов. Справа от канала у нас есть «простая» утилита, которая считывает данные из стандартного ввода (канала) и выводит на стандартный вывод в обратном порядке: { cat <<...
21.05.2019
1
ответ

Запускать программу, когда/вместо записи в FIFO? [закрыто]

У меня есть программа, которая каждую секунду записывает данные в FIFO. Теперь я хочу изменить некоторые из этих данных и записать их в другой FIFO. Что было бы лучшим подходом? Могу ли я каким-то образом направить это прямо в мой...
17.05.2019
1
ответ

Статус завершения связанных команд

Я хочу запустить потенциально недопустимую команду в переменной cmd. Я не могу позволить, чтобы он просто подвел меня и получил статус выхода. Что я могу попытаться сделать, так это направить его в : , и тогда у меня будет успешный ...
16.05.2019
1
ответ

Каков наиболее краткий способ завершения остальной части конвейера в случае сбоя команды?

Рассмотрим следующее: command1 | команда2 | command3 Насколько я понимаю конвейеры, каждая команда выполняется независимо от возможных ошибок. Когда команда возвращает stderr, она не передается в ...
09.05.2019
1
ответ

хвост: ошибка записи "стандартный вывод": Broken pipe

I tried to use some scripts that use tail commands on Debian stretch but I got tail: error write 'standard output': Сломанная труба. Различается ли в Debian синтаксис хвоста и труб? Спасибо в ...
04.05.2019
1
ответ

Статус выхода команды в конвейере

Я столкнулся с этим кодом, но не могу понять exec >&p edit 1 насколько я понимаю: #! /USR/бин/кш exec 4>&1 ## стандартный вывод сначала сохраняется как файловый дескриптор 4 ...
02.05.2019
1
ответ

Как программа узнает, подключен ли стандартный вывод к терминалу или каналу?

I У меня проблемы с отладкой программы segfaulting, потому что вывод прямо перед segfault - это то, что мне нужно, но он теряется, если я передаю вывод в файл. Согласно этому ответу: https: // ...
27.04.2019
1
ответ

Почему я не могу жевать трубку? [закрыто]

Из обсуждения бесполезного использования кат. Решил посмотреть, можно ли избежать некоторых неприятностей, сменив хозяина трубы. Так я и сделал: # кошка | Кот & [1] 16500 # cd /proc/16500/...
13.04.2019
1
ответ

Pipe stderr только в случае сбоя приложения терминала

У меня есть программа, которая взаимодействует с пользователем на терминале. Но если он выйдет из строя, я бы хотел передать stderr через другой инструмент, чтобы привести его в порядок / распечатать. Есть ли способ сделать это? Насколько я понимаю ...
09.04.2019
1
ответ

Заставить GNU Parallel не задерживать выполнение аргументов из STDIN

GNU Parallel без каких-либо опций командной строки позволяет легко распараллелить команду, последний аргумент которой определяется строкой STDIN: $ последовательность 3 | параллельное эхо 2 1 3 Обратите внимание, что parallel делает ...
07.04.2019
1
ответ

Получение IP-адреса заданного интерфейса [дубликат]

Мне нужен IP-адрес (v4) устройства, которое я укажу. Ответ будет позже использован в скрипте. Вот что у меня есть: $IFACE=eth1 $ ifconfig $IFACE |grep "inet" | awk '{напечатать $2}' 10.0.0.33 Есть ли...
09.03.2019