Differences between revisions 4 and 5
Revision 4 as of 2014-07-24 22:45:32
Size: 876
Editor: SamatJain
Comment: Faster version of mtime-based file removal
Revision 5 as of 2016-04-05 04:11:57
Size: 1358
Editor: SamatJain
Comment: Fix whitespace issues in source code
Deletions are marked like this. Additions are marked like this.
Line 28: Line 28:
=== Fix whitespace issues ===

{{{#!highlight sh numbers=off
for EXTENSION in php css html js; do
  # Remove whitespace (incl. tabs) at the end of lines
  find . -type f -name "*${EXTENSION}" -exec echo sed -i "s/[[:blank:]]*$//" {} \;
  # Add trailing newlines to the end of a file
  find . -type f -name "*${EXTENSION}" -exec echo sed -i -e '$a\' {} \;
  # Replace tabs w/ spaces
  find . -type f -name "*${EXTENSION}" -exec echo sed -i 's/\t/ /g' {} \;
done
}}}

Delete files not modified in n days

Useful for clearing out caches that aren't properly cleaned out otherwise.

# Delete files not modified in 30 days
find . -type f -mtime +30 -exec rm {} \;
# Same, but faster
find . -type f -mtime +30 -print0 | xargs -0 -n256 rm

Replace text in all files in & under the current directory

find . -type f -exec sed -i 's/old/new/g' {} \;

Find files NOT named something

# Find files matching a pattern that are NOT already compressed, then compress them
# (This particular example compresses Maildirs for use w/ dovecot's transparent decompression)
find . -type f -name '*S=*' -not -name '*.gz' -print0 | xargs -0 -P4 -n 16 zopfli -l100

Fix whitespace issues

for EXTENSION in php css html js; do
  # Remove whitespace (incl. tabs) at the end of lines
  find . -type f -name "*${EXTENSION}" -exec echo sed -i "s/[[:blank:]]*$//" {} \;
  # Add trailing newlines to the end of a file
  find . -type f -name "*${EXTENSION}" -exec echo sed -i -e '$a\' {} \;
  # Replace tabs w/ spaces
  find . -type f -name "*${EXTENSION}" -exec echo sed -i 's/\t/    /g' {} \;
done


CategoryCheatSheet

SamatsWiki: CheatSheet/GNUFind (last edited 2019-01-13 22:01:38 by SamatJain)