При использовании Ubuntu 12.04 мне нужна помощь по копированию файлов, которые были возвращены в результате поиска с помощью grep
.
У меня много PDF-файлов, поэтому для фильтрации определенных именованных файлов я использую команду General grep следующим образом.
raja@badfox:~/Desktop/mtech/M.Tech II Sem-April 2012$ grep "DESIGN OF FAULT TOLERANT SYSTEMS" *.pdf
Binary file NR-DESIGN OF FAULT TOLERANT SYSTEMS.pdf matches
Binary file R09-DESIGN OF FAULT TOLERANT SYSTEMS.pdf matches
Как автоматически скопировать файлы, возвращенные из поиска, в другой каталог?
Другой способ сделать это в общем случае при поиске файлов связан с командой find
, например,
find -name "*DESIGN OF FAULT TOLERANT SYSTEMS*.pdf" -exec cp '{}' /some/folder/ \;
, который объединяет поиск и копирование (обычно любое действие, которое вы хотите выполнить над файлами) в одну команду.
Если вы хотите ограничить поиск текущим каталогом, вы можете добавить опцию -maxdepth 1
в команду поиска.
find
имеет много опций для указания того, какие пути искать или не искать, включая проверку времени модификации, спецификаторов пути, имен файлов и многое другое. При правильном использовании это очень мощный инструмент.
Более простой способ сделать это - просто использовать cp
.
cp *"DESIGN OF FAULT TOLERANT SYSTEMS"*.pdf /some/folder/