W moim katalogu ~ / docs chcę „dotknąć” wszystkich plików z rozszerzeniem .txt
W jaki sposób mogę to zrobić?
W moim katalogu ~ / docs chcę „dotknąć” wszystkich plików z rozszerzeniem .txt
W jaki sposób mogę to zrobić?
Odpowiedzi:
Z find:
find ~/docs -name "*.txt" -exec touch {} \;
~/docsnameOpcja pasuje do wszystkich txtplików - execwykona polecenie toucho nazwie pliku, który jest podstawiony w{}\;kończy polecenie i touchzostanie wywołany raz dla każdego znalezionego plikuUwaga:
\+na końcu konstruuje jedno polecenie do uruchomienia touchna wszystkich tych plikach jednocześnie. Nie jest to możliwe w przypadku wszystkich poleceń, ale działa touchi oszczędza kilka połączeń, jeśli masz wiele plików, których to dotyczy.
{} \+byłoby lepiej tutaj ...touchmoże obsłużyć wiele nazw plików w wierszu poleceń, więc na przykład z 10 tysiącami plików i{} \;10 tysiącami wywoła siętouch... Używanie{} \+będzie wywoływaćtouchtylko raz (w zależności od dostępnej pamięci) ... Tutaj jest fragmentem znaleźć za roboczogodzinę stronie:-exec command {} + ... The command line is built in much the same way that xargs builds its command lines.man findDokumentacja zawiera więcej szczegółów .