Find

Материал из Вікі Фаланстэра
Перейти к: навигация, поиск

Поиск и последующие операции с файлами

Общий синтаксис: find <где ищем> <что ищем>

  • Поиск и упаковка в архив текстовых файлов:
find . -type f -name \*.txt | xargs tar cvzf week.tar.gz 

  • Поиск и удаление архивов:
find . -name \*.gz | xargs /bin/rm -f
  • Поиск и удаление текстовых файлов:
find . -name \*.txt -print0 | xargs -0 rm -f 

  • Открытие найденного файла:
find . -name 1.txt -exec nano {} + -  
  • Копирование найденных файлов в tmp:
ls *.txt | xargs -n1 -i cp {} tmp
find -iname \*.txt -print0 | xargs -0 cp -t tmp 
  • Вывод размеров всех файлов, находящихся на глубине одиночной вложенности относительно текущей директории:
find . -type d -maxdepth 1 | xargs du -sh 
du -h --max-depth 1
  • Смена прав для текстовых файлов:
find . -name \*.txt | xargs chmod 0444 
  • Присвоить права текстовым файлам - 0644, директориям - 0755:
find . -type f | xargs chmod 0644; find . -type d | xargs chmod 0755

  • Поиск подстроки "123" в текстовых файлах:
find -iname \*.txt | xargs grep "123"  / grep "123" - простых случаях