, вам, вероятно, следует просто использовать fmt
или fold
или pr
или одну из них. Вот fmt
:
until [ $((i=i+1)) -gt 10000 ]
do printf %s\ words and more words
done | fmt
words and more words words and more words words and more words words
and more words words and more words words and more words words and more
words words and more words words and more words words and more words
words and more words words and more words words and more words words
and more words words and more words words and more words words and more
#...and so on for a long time
grep
буфер обязательно уступит место при любой серьезной нагрузке, если только он не сможет сбросить его на границу новой строки.
Например:
time (
tr \\0 \\n < /dev/zero |
sed 'c words and words and words and words and words and' |
tr -d \\n |
grep -o words
)
grep: memory exhausted
49.42s user 44.93s system 229% cpu 41.070 total
Это занимает некоторое время - но на этой системе много пустой оперативной памяти, и все же она умудрилась сломаться меньше чем за минуту.
Так что просто:
fmt <file | grep search
Более надежно, если в файле есть какой-то надежный односимвольный разделитель строк:
tr ${delim} \\n <file | grep search
Запуск man tmux
в терминале выводит руководство, в котором есть все доступные опции.
Существуют также онлайн-версии руководства (например, http://manpages.ubuntu.com/manpages/vivid/en/man1/tmux.1.html)
Если официальной документации нет, я нашел ее в исходном коде. https://github.com/ThomasAdam/tmux/ blob / master / mode-key.c для сопоставления режимов
параметры -table.c в источнике
- This file has a tables with all the server, session and window * options. These tables are the master copy of the options with their real * (user-visible) types, range limits and default values.
Я запомнил tmux list-keys | less
и tmux show -gw | less
(. Я также проверяю только -g
, -w
и -s
, когда думаю, что что-то упускаю ).
Это обычно дает мне все, что мне нужно знать или установить. Я использую man tmux
, затем /OPTIONS
для большего количества.
Также помните, что любая команда, которую вы вводите в Ctrl + b , :, также может быть передана в tmux
cli/cmd, хотя завершение на вкладке -трюк, чтобы настроить там.
Извлеките их из справочной страницы
function tmux__list_options {
local range
case $1 in
-s)
range='/^ {5}Available server options/,/^ {5}Available session options/p'
;;
-e)
range='/^ {5}Available session options/,/^ {5}Available window options/p'
;;
-w)
range='/^ {5}Available window options/,/^ {5}Available pane options/p'
;;
-p)
range='/^ {5}Available pane options/,/^[A-Z]/p'
;;
*)
range='/^ {5}Available server options/,/^[A-Z]/p'
;;
esac
man -P cat tmux | sed -En "$range" | grep -E --color=never '^ {5}[a-z]'
}