gpt4 book ai didi

bash - 删除给定子目录中的文件

转载 作者:行者123 更新时间:2023-11-29 09:41:24 24 4
gpt4 key购买 nike

我在给定的文件夹中有几个子目录,其中有一个文件 d2.sh~。我想通过以下 shell 脚本删除此文件,而不是写在我在终端上写的 .sh 文件中,一行。 [编辑:为清楚起见,此处已正确格式化]

for i in `ls *`; do
if [ -d $i ]; then
cd $i
rm d2.sh~
cd ..
fi
done

这没有给我任何错误,但它未能从子目录中删除 d2.sh~。所以我想知道我上面犯了什么错误?

最佳答案

find /some/path -type f -name "d2.sh~" -delete

您的第一个错误是试图解析 ls。参见 this link至于为什么。

只需使用 for i in *;做...

如果您需要递归,那么您需要查看find 或者如果您有 Bash 4.X,您可以这样做:

shopt -s globstar; for i in **/d2.sh~; do rm "$i"; done

关于bash - 删除给定子目录中的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8860426/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com