使用目录结构,例如:
toplev/
file2.txt
file5.txt
midlev/
test.txt
anotherdirec/
other.dat
myfile.txt
furtherdown/
morefiles.txt
otherdirec/
myfile4.txt
file7.txt
如何从'anotherdirec'中删除所有文件(不是目录而不是递归)?在这个例子中,它将删除2个文件(other.dat,myfile.txt)
我在'midlev'目录中尝试过以下命令,但它出现此错误(find: bad option -maxdepth find: [-H | -L] path-list predicate-list
):
find anotherdirec/ -type f -maxdepth 1
我正在运行SunOS 5.10。
答案 0 :(得分:5)
rm anotherdirec/*
应该适合你。
答案 1 :(得分:4)
Rob的回答(rm anotherdirec / *)可能会有效,但它有点冗长并产生一堆错误消息。问题是您使用的是不支持-maxdepth选项的find版本。如果你想避免'rm anotherdirec / *'给出的错误信息,你可以这样做:
for i in anotherdirec/*; do test -f $i && rm $i; done
请注意,如果任何文件包含空格或其他特殊字符,这些解决方案都不会起作用。如果这是个问题,你可以在$ i附近加上双引号。
答案 2 :(得分:3)
查找对期权订单敏感。试试这个:
find anotherdirec/ -maxdepth 1 -type f -exec rm {} \;
答案 3 :(得分:1)
rm toplev/midlev/anotherdirec/*
如果您只想删除文件。
rm -rf toplev/midlev/anotherdirec/*
如果要删除文件和较低目录