我有一个脚本,该脚本应该遍历执行该脚本的目录和子目录,并搜索特定的文件类型(例如pdf),然后将其删除,然后使用已删除文件的名称创建一个空文件。它可以正常工作,除了它忽略文件和文件夹(文件和文件夹的名称中包含空格)之外。这是脚本:
#!/bin/sh
#
# Created by User on 6/20/11.
#
dir=./
for files in $(find -L "$dir" -name '*.pdf' -mtime +90);
do
echo $files
rm -fR $files
touch $files.removed
done
谁能提出一种解决方案,使该脚本处理具有任何名称的所有文件和文件夹?
谢谢和最诚挚的问候
默认值IFS
引起遇到空格时单词分裂。说:
for files in $(IFS=$'\n' find -L "$dir" -name '*.pdf' -mtime +90);
IFS=$'\n'
上面说的话会导致单词拆分仅发生在换行符上,因此带空格的文件名会很好地工作。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句