說有一個目錄結構,如刪除文件?在這個例子中,將刪除2個文件(other.dat,myfile.txt的)UNIX只能從目錄
我已經從「midlev」目錄中嘗試下面的命令,但它給這個錯誤(find: bad option -maxdepth find: [-H | -L] path-list predicate-list
):
find anotherdirec/ -type f -maxdepth 1
我正在運行SunOS 5.10。
說有一個目錄結構,如刪除文件?在這個例子中,將刪除2個文件(other.dat,myfile.txt的)UNIX只能從目錄
我已經從「midlev」目錄中嘗試下面的命令,但它給這個錯誤(find: bad option -maxdepth find: [-H | -L] path-list predicate-list
):
find anotherdirec/ -type f -maxdepth 1
我正在運行SunOS 5.10。
查找對選項順序很敏感。試試這個:
find anotherdirec/ -maxdepth 1 -type f -exec rm {} \;
仍然給出:「 找到:壞選項-maxdepth 找到:[-H | -L]路徑列表謂詞列表」 – toop 2012-01-01 10:51:58
@Arenielle'find' has一個名爲'-delete'的選項。如果你使用它,你不需要'-exec ...'。如果你有很多文件,查找的'delete'將會更快:) – uzsolt 2012-01-01 13:31:15
@toop對於SunOS 5.10,-maxdepth不是一個有效的選項。您應該查閱適用於您特定操作系統的聯機幫助頁http://compute.cnr.berkeley.edu/cgi-bin/man-cgi?find+1 – JRFerguson 2012-01-01 13:59:19
羅布的回答(RM anotherdirec/*)可能會工作,但它是一個有點冗長,併產生了一堆錯誤信息。問題是您正在使用不支持-maxdepth選項的查找版本。如果你想避免的錯誤信息「RM anotherdirec/*」給,你可以這樣做:
for i in anotherdirec/*; do test -f $i && rm $i; done
注意,這些方法都將工作,如果任何文件包含空格或其他特殊字符。如果這是一個問題,你可以在$ i周圍加雙引號。
rm toplev/midlev/anotherdirec/*
如果您只想刪除文件。
rm -rf toplev/midlev/anotherdirec/*
如果要刪除文件和較低的目錄
是否要刪除隱藏的文件? (.hidden.txt) – BatchyX 2012-01-01 11:01:32
@BatchyX - 不,不要刪除非隱藏文件 – toop 2012-01-01 11:04:41
[man rm?](http://duckduckgo.com/?q=man+rm) – TLP 2012-01-01 13:06:37