85

I need to change the timestamp of about 5000 files.

Typing touch file1.txt, touch file2.txt will take me forever.

Is there a way to do something in the lines of touch -R *?

4
  • 1
    did you mean this touch file{1..3}.txt ? Feb 1, 2015 at 9:57
  • 3
    You didn't specify which shell you are using, but with zsh, touch **/* is convenient. Feb 1, 2015 at 22:36
  • @Marc Glisse Keep in mind that the argument list easily gets too long.
    – user986805
    Oct 8, 2019 at 7:11
  • In bash you need to set globstar before you can use touch **
    – user986805
    Oct 8, 2019 at 7:33

1 Answer 1

130

You can use find command to find all your files and execute touch on every found file using -exec

find . -type f -exec touch {} +

If you want to filter your result only for text files, you can use

find . -type f -name "*.txt" -exec touch {} +
9
  • 27
    I'd suggest using -exec's + terminator (instead of \;). This will chain multiple arguments onto each touch instance (up to the system argument limit) and will therefore fork out much less (and probably be faster).
    – Oli
    Feb 1, 2015 at 9:53
  • 6
    @g_p ... and for a source see What is the difference between using '+' and '\;' in -exec command? Feb 1, 2015 at 16:21
  • 5
    And for a dry run, just leave out the -exec touch {} + part, and it'll print to your terminal what it would have affected.
    – Alex
    Feb 1, 2015 at 20:11
  • 7
    Thanks, Although I think 'find' is missing his first parameter. find . -type f -exec touch {} +
    – giltsl
    Mar 22, 2018 at 9:17
  • 4
    It's worth noting that the man page (Ubuntu 19.10) for find suggests it is more secure to use -execdir rather than -exec as -execdir runs each command from the directory in which the find result is located. It also says that when invoked from a shell, "[the curly brace pair] should be quoted (for example, '{}') to protect it from interpretation by shells". Jan 24, 2020 at 21:55

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.