Вы можете удалить все ненужные вам биты, пропустив вывод через sed
:
wc -l ~location/folder/folder/*.log > ~/log.info
cut -d "/" -f9 ~/log.info | sort | sed 's_/.*/__;s_\.log$__'
Существует комбинация клавиш EscQ , которая сохраняет буфер команд и позволяет ввести новую команду. После выполнения команды буфер содержит то, что вы набрали ранее. Если вам нужно запустить другую команду, прежде чем закончить это, вы можете снова набрать EscQ .
(Я еще не пробовал открывать подоболочку после нажатия EscQ .)
См.http://zsh.sourceforge.net/Intro/intro_10.htmlи найдите «esc -q»
Я обычно использую Ctrl + U , что стирает текущую строку и сохраняет ее в буфере. Оттуда я делаю все, что мне нужно было до mylongcommand
. Затем, когда я готов, я использую Ctrl + Y , чтобы вставить mylongcommand
обратно в приглашение.
Запомнить набранную наполовину -команду, пока я что-то проверяю
Мое решение этой проблемы, безусловно, -низкотехнологичное и неуклюжее, но оно опирается на ключевые -последовательности, с которыми вы, вероятно, уже знакомы :Нажмите Ctrl + A , затем #, затем ВВОД .
Это приводит к вставке #
в начале строки, что делает его комментарием, а затем его выполнение, тем самым помещая его в историю команд. Затем вы можете ввести свою вспомогательную команду, а затем прокрутить историю команд вверх до комментируемой команды, удалить #
и завершить команду по мере необходимости.
Я набираю Ctrl + Z , чтобы «приостановить» ввод команды и ввести другую команду. После того, как я выполнил эту команду (или прервал ее с помощью Ctrl + C ), приостановленная команда возвращается для редактирования (, даже запоминая положение курсора ). Для дополнительного удобства, если командная строка пуста, когда я набираю Ctrl + Z ,клавиша вызывает bg
, встроенную -вместо (, поэтому двойное Ctrl + Z отправляет текущую команду прямо в фон ).
fancy-ctrl-z () {
emulate -LR zsh
if [[ $#BUFFER -eq 0 ]]; then
bg
zle redisplay
else
zle push-input
fi
}
zle -N fancy-ctrl-z
bindkey '^Z' fancy-ctrl-z
(Ранее опубликовано в Вспомните набранную наполовину -команду, пока я проверяю кое-что , в котором в основном есть решения для bash, где вы не можете сделать ничего столь же удобного. Это немного более причудливая версия встроенного -в привязке M-q
кpush-line
.)
Это не запускает подоболочку. :Команда, которую вы вводите после «приостановки» предыдущей, выполняется в той же оболочке. Это позволяет вам делать такие вещи, как изменение текущего каталога, если после ввода команды вы понимаете, что хотели запустить ее в другом каталоге. Если вы хотите запустить новый экземпляр оболочки, вы можете запустить zsh
из привязки клавиш, но я не думаю, что это особенно полезно.