Thanks for the replies everyone.
Les, you were right about meta-characters. The file name contains "double-quotes" (bad log4j config) and that's causing the problem. e.g. /opt/apps/tomcat/logs/apache.log".-2010-09-24" The ls command works fine after escaping double quotes: " .
My objective was to delete files matching find-pattern using 'xargs rm'. I wanted to do 'ls' before I delete these files permanently. I guess I can use 'find -delete' action instead which is working fine.
-- neubyr.
On Thu, Feb 24, 2011 at 7:59 AM, Les Mikesell lesmikesell@gmail.com wrote:
On 2/23/11 10:54 PM, neubyr wrote:
Howdy,
I am getting some errors with find and ls command - such that find is able to see a file whereas ls says the file doesn't exist. Initially I was trying find and ls together as: # find ./ -type f -mtime +15 | xargs ls
Similar behavior is seen even when I execute both commands separately. Any thoughts on what might be wrong here?
Can you give an example of a path that find returns and the output of ls -l 'that_path_in_quotes' My first guess is that you have shell metacharacters (like spaces) in the file or directory names that the shell parses/expands if you don't quote them. Using the GNU --print0 extension to find and the matching -0 option to xargs might fix it.
-- Les Mikesell lesmikesell@gmail.com _______________________________________________ CentOS mailing list CentOS@centos.org http://lists.centos.org/mailman/listinfo/centos