Я хочу найти строку в файлах и передать полученный список файлов команде «open» OSX, открыв тем самым все файлы, содержащие указанную строку для редактирования в редакторе по умолчанию (aka not vim).Mac open grep file list
Например, бег:
find . -name "*.txt" | xargs grep -l "RANDOMSTRING"
может вернуться:
./folder1/file1.txt
./folder1/file2.txt
./folder2/file3.txt
./file4.txt
однако, просто обжигающе этот список открытого команды не удается:
find . -name "*.txt" | xargs grep -l "RANDOMSTRING" | open
Я думаю, что это из-за «новые строки» или «возврат каретки», поскольку выполняется:
open ./folder1/file1.txt ./folder1/file2.txt ./folder2/file3.txt ./file4.txt
работ.
Я просто не уверен, как удалить символы новой строки из возвращаемого вывода и передать его команде open. Мне нужна другая команда для вывода вывода через это, чтобы правильно форматировать список файлов, чтобы затем передать список команде open. Хотя символы новой строки могут даже не быть проблемой.
P.S. - I НЕ ЗНАЮ хочу создать временный файл для этого. Однако я открыт для создания функции .zshrc или .bashrc.
Пробовал с 'xargs open' в последней трубе? – abasu
@abasu. Так оно и было. Вы должны отправить ответ, чтобы я мог отметить его как правильно. Если вы этого не сделаете, я увижу, как это сделать. –
спасибо :) Я отправил ответ. – abasu