Я пытаюсь поместить все .js файлы в каталог и подкаталоги в один файл в лексическом порядке. Я попытался:
grep -r --include=*.js * > dir/.filename
Что я сделал не так?
grep - инструмент для сопоставления строк.
Используйте команду find для этого. Найти рекурсивный по умолчанию и имеет множество опций для оптимизации поиска.
Например, если бы я хотел рекурсивно найти все обычные файлы (не каталоги) с расширением *.png рекурсивно из каталога /home и вниз к подкаталогам, я бы сказал find, чтобы начать с каталога /home, искать файлы с -type и использовать сопоставление с регистрами по регистру с -iname для файлов, которые заканчиваются на «.png».
xieerqi:$ find /home -type f -iname "*.png" | head
/home/xieerqi/Downloads/35457542.png
/home/xieerqi/genymotion/icons/icon.png
/home/xieerqi/chinese-calendar-0.8.2/skin/default/ok.png
/home/xieerqi/chinese-calendar-0.8.2/skin/default/no.png
/home/xieerqi/chinese-calendar-0.8.2/skin/default/note.png
/home/xieerqi/chinese-calendar-0.8.2/skin/default/chinesecalendarBGyellow.png
/home/xieerqi/chinese-calendar-0.8.2/skin/blue/ok.png
/home/xieerqi/chinese-calendar-0.8.2/skin/blue/no.png
/home/xieerqi/chinese-calendar-0.8.2/skin/blue/note.png
/home/xieerqi/chinese-calendar-0.8.2/skin/blue/chinesecalendarBGblue.png