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.
# 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
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.