Я узнал, что Ubuntu предлагает возможность изменять размер раздела на диске. Следовательно, я мог бы сделать это и увеличить размер раздела до 150 ГБ
.Кажется, вы хотите найти foo
или bar
в переменной zsh, которая по сути является результатом какой-то команды. Я не уверен, почему вы идете дополнительным путем, чтобы передать строки поиска в grep
, но если это не является абсолютно необходимым, вы можете сделать
big_query_that_returns_text | grep -E "foo|bar"
Если вы хотите использовать вывод big_query_that_returns_text
более чем в одном месте и по этой причине сохранить его в переменной оболочки, вы все равно можете использовать
var=$(big_query_that_returns_text)
printf '%s\n' "$var" | grep -E "foo|bar"
... (other operations on $var)...
Здесь используется printf '%s\n'
. Другими альтернативами могут быть print -r -- "$var"
или echo -E - "$var"
, или использовать здесь -документ или здесь -строку. Все printf
, print
и echo
встроены -в zsh
, поэтому список аргументов не будет слишком длинным , что является ограничением execve()
. ] системный вызов, поэтому применяется только к внешним командам, которые выполняются (, например grep
, которые не встроены вzsh
).
Это место для подстановки процесса:это блок кода, который действует как файл
Направить большие результаты запроса на стандартный ввод grep
big_query_that_returns_text | grep -f <(printf '%s\n' "foo" "bar")
Если команда для создания «foo» и «bar» более сложная, вы можете улучшить читаемость с помощью произвольных символов новой строки внутри подстановки процесса:
big_query_that_returns_text \
| grep -f <(
printf '%s\n' "foo" "bar"
)