Linux command: find
Revision as of 07:44, 4 February 2020 by Rafahsolis (talk | contribs) (→find files modified in the last 24h)
find files
find <path> -name <filename>
find files modified in the last 24h
find <path> -mtime -1 -ls
Last 3 accessed files
find . -type f -exec stat -c '%X %n' {} \; | sort -nr | awk 'NR==1,NR==3 {print $2}'
Last 3 modified files
find . -type f -exec stat -c '%Y %n' {} \; | sort -nr | awk 'NR==1,NR==3 {print $2}'
find . -type f -exec stat -c '%X %n' *: prints the last access' time followed by the file's path for each file in the current directory hierarchy;find . -type f -exec stat -c '%Y %n' *: prints the last modification's time followed by the file's path for each file in the current directory hierarchy;sort -nr: sorts in an inverse numerical order;awk 'NR==1,NR==3 {print $2}': prints the second field of the first, second and third line.
You can change the number of files to be shown by changing 3 to the desired number of files in awk 'NR==1,NR==3 {print $2}'.
find case insensitive
find . -iname "fileName.txt"
find video files
find . -type f -exec file -N -i -- {} + | grep video
or if you only want the filenames ...
find . -type f -exec file -N -i -- {} + | sed -n 's!: video/[^:]*$!!p'
Exclude extension
find Vídeos/popcorntime/ -type f -not -name "*.torrent" -not -name "*.jpg" -not -name "*.srt" -not -name "*.txt" -exec mv "{}" /media/rafa/HM_030/video/ \;
Large Files
find . -type f -size +10000k -exec ls -lh {} \; | awk '{ print $8 ": " $5 }'