如何刪除具有撇號的文件夾中的所有文件?從Shell:刪除帶撇號的所有文件
例如:
Baird的/人的Tunnel.jpg
巴赫/的Birds.jpg
這ISN //'噸good.png
我想刪除所有這些文件,但是沒有撇號的任何文件保持不變,例如:
這good.jpg donotdelete.png
如何刪除具有撇號的文件夾中的所有文件?從Shell:刪除帶撇號的所有文件
例如:
Baird的/人的Tunnel.jpg
巴赫/的Birds.jpg
這ISN //'噸good.png
我想刪除所有這些文件,但是沒有撇號的任何文件保持不變,例如:
這good.jpg donotdelete.png
在SH你可以做
rm *\'*
這不適用於給出的示例,因爲它們有空格。更好:對於* \'*中的fn;做rm「$ fn」;當然,完成 – 2010-01-08 11:20:10
可以使用find
命令:
find . -name "*'*" -delete
正如@布萊恩在他的評論中指出,這將被刪除當前目錄中的所有文件和所有子目錄。如果你不想下降的目錄使用:
find . -name "*'*" -maxdepth 1 -delete
這使得find
停留在當前目錄。
,沒有任何其他參數,這將刪除當前目錄*和*所有子目錄中的所有文件。 – 2010-01-06 19:53:32
這應該是'-maxdepth 1'('-depth'用於深度優先處理並且不需要參數) – 2010-01-07 03:20:26
@Dennis出於某種原因,在我的Mac上'-depth 1'表現得像'-maxdepth 1' – 2010-01-07 07:50:36
GNU找到
find /path/ -type f -name "*[']*" -exec rm {} +;
哪個操作系統和殼呢? – 2010-01-06 19:33:09
bash優先或sh很好 – kylex 2010-01-06 19:42:06