Linux – empty or truncate file names with white spaces
Posted by danielApr 9
Linux – empty or truncate files with strange names such as white space etc.
In Linux, it is very common to expect the files in the system to follow certain naming conventions – such as no white space, usually only lower cases, alphanumeric with underscore or dashes. But in some cases, you will find files which don’t follow this convention – the files might have been copied from other OSes such as Microsoft Windows or MacOS. Here is a trick to empty these files without deleting them.
Use the “truncate” command to empty files with non-standard names.
Requirement – empty files with white space in file name. Keep the files, just reduce the size to 0.
1 2 3 4 5 6 7 8 9 10 11 | # find . -type f -exec ls -l {} \; -rw-rw-r-- 1 nagios nagios 0 Dec 21 11:21 . /app/ \var\log\messages -rw-rw-r-- 1 nagios nagios 1359 Dec 19 06:26 . /puppet/ \var\log\syslog -rw-rw-r-- 1 nagios nagios 8071 Dec 15 02:30 . /ftp/Microsoft-Windows-EventCollector \Operational # find . -type f -exec truncate -s 0 {} \; # find . -type f -exec ls -l {} \; -rw-rw-r-- 1 nagios nagios 0 Dec 21 11:27 . /app/ \var\log\messages -rw-rw-r-- 1 nagios nagios 0 Dec 21 11:27 . /puppet/ \var\log\syslog -rw-rw-r-- 1 nagios nagios 0 Dec 21 11:27 . /ftp/Microsoft-Windows-EventCollector \Operational |
With the command
1 | find . - type f - exec truncate -s 0 {} \; |
, we were able to list all files in current directory and empty them.
No comments
You must be logged in to post a comment.