[英]How can I find and delete files based on date in a linux shell script without find?
[英]How can I delete directories based on their numeric name value with a shell script?
我有一个目录,其中包含以数字命名的子目录(例如1、2、3、32000、43546)。 我需要删除超过一定数量的所有目录。 例如,我需要删除名称在数字上大于14234的所有子目录。可以通过单个命令行操作来完成此操作吗?
rm -r /directory/subdirectories_over_14234 ( how can I do this? )
好了,您可以执行bash for loop指令,以便遍历目录文件名并在提取文件名的目标编号之后使用test命令。
应该是这样的:
for $file in /your/path
do
#extract number here with any text processing command (ed ?)
if test [$name -leq your_value]
then
rm -R $file
fi
done
用bash,我会写
for dir in *; do [[ -d $dir ]] && (( dir > 14234 )) && echo rm -r $dir; done
您可以自行决定删除echo
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.