
Я пытаюсь получить все файлы, в именах которых есть «load» из каталога. Я пытаюсь сделать:
find -type f | sed -s 'load
Однако я периодически получаю сообщение об ошибке
sed: -e выражение #1, символ 1: неизвестная команда: `f'
Хуже всего то, что хотя я и умею манипулировать регулярными выражениями, я очень плохо использую grep/sed/awk, и это все время меня замедляет. Все материалы, которые я нашел в сети, не очень хороши. Ребята, вы знаете какие-нибудь всеобъемлющие и достаточно краткие скринкасты/руководства? Мне все еще не хватает навыка читать и быстро понимать руководства по Linux.
решение1
Вам вообще не нужны grep/sed/awk, позвольте find
отфильтровать результаты за вас:
find . -type f -name '*load*'
Или только в bash
shopt -s globstar nullglob
load_files=( **/*load* )
если вам нужен внешний инструмент:
find . -type f | grep load
find . -type f | awk '/load/'
find . -type f | sed -n '/load/p'
В sed используйте -n, чтобы подавить обычный вывод и вывести только строки, соответствующие шаблону.