Я использую grep, чтобы найти уникальный (маркерный) текст среди большого количества файлов.
grep MarkerText -r -C 30 -h ~/helpfiles/*
Можно ли передать выделенный текст в качестве входных данных для моей команды grep, чтобы выделенный текст заменял MarkerText в этой команде? Я надеюсь избежать необходимости все время копировать и вставлять.
Да, конечно - существует PRIMARY
выбор в X11.
ОСНОВНОЙ выбор, используется, когда пользователь выбирает некоторые данные. X Window: Буфер обмена
Можно использовать также xsel
или xclip
инструменты cli:
2a. grep "$(xsel)" -r -C 30 -h ~/helpfiles/*
ИЛИ
2b. grep "$(xclip -o)" -r -C 30 -h ~/helpfiles/*
xsel
или xclip
пакет установил: apt get install xsel
или apt get install xclip
X
сервер работает (т.е. Вы используете X-сервер, не текстовый режим без X-сервера): xset q > /dev/null && echo "X is running" || echo "start X server"
Оба xsel
и xclip
инструменты управления буфера обмена. Команды xsel
и xclip -o
печать к STDOUT
содержание PRIMARY
выбор. Больше информации можно найти здесь: 'xclip' по сравнению с 'xsel'
Используйте двойные кавычки вокруг $()
. Это позволяет выделять больше чем 1 слово.
Если можно установить xclip пакет, попробуйте:
grep `xclip -o` -r -C 30 -h ~/helpfiles/*
"xclip-o" в вышеупомянутой команде будет заменен тем, что находится на Вашем буфере обмена.