求助:怎样找到指定目录(包括其子目录)下所有可执行文件的完整路径?(已解决)

sh/bash/dash/ksh/zsh等Shell脚本
回复
头像
zwdnet
帖子: 348
注册时间: 2010-06-09 15:22

求助:怎样找到指定目录(包括其子目录)下所有可执行文件的完整路径?(已解决)

#1

帖子 zwdnet » 2011-08-02 22:28

我想删除一个目录下的所有可执行文件,目录结构如下:

代码: 全选

ls -R
.:
dialog  hello  MainWindow  myhello  signal  size

./dialog:
dialog  dialog.pro  finddialog.cpp  finddialog.h  main.cpp  Makefile  moc_finddialog.cpp

./hello:
hello  hello.pro  main.cpp  Makefile

./MainWindow:
MyApp  MyApp-build-desktop

./MainWindow/MyApp:
build.sh  main.cpp        mainwindow.ui       MyApp           qrc_ico.cpp
fee.png   mainwindow.cpp  Makefile            MyApp.pro       ui_mainwindow.h
ico.qrc   mainwindow.h    moc_mainwindow.cpp  MyApp.pro.user

./MainWindow/MyApp-build-desktop:
Makefile  moc_mainwindow.cpp  MyApp  ui_mainwindow.h

./myhello:
hello.cpp

./signal:
main.cpp  Makefile  signal  signal.pro

./size:
main.cpp  Makefile  size  size.pro

其中每个子目录下的同名文件为可执行文件,如./size下的size文件。
我在网上找到这样的命令:

代码: 全选

ls -FR | grep \* | cut -d \* -f 1
dialog
hello
build.sh
MyApp
MyApp
signal
size
这个命令的确给出了该目录下所有的可执行文件的名称,可惜是没有完整路径的,不然后面加上

代码: 全选

| xarges rm
就可以达到批量删除他们的目的,请问有什么办法能够显示他们的完整路径吗?
这个目录只是个例子,我真正要删除的目录有数十个子目录(平时编程练习的目录,有很多编译出来的程序,很占空间,想删除,反正有源代码,需要再编译呗),每个子目录下面又有很多子目录,所以手工删除很不现实。
谢谢了!
上次由 zwdnet 在 2011-08-03 7:47,总共编辑 1 次。
您好,请多关照!
tusooa
帖子: 6548
注册时间: 2008-10-31 22:12
系统: 践兔
联系:

Re: 求助:怎样找到指定目录(包括其子目录)下所有可执行文件的完整路径?

#3

帖子 tusooa » 2011-08-02 23:19

代码: 全选

find . -executable -exec echo rm '{}' ';'

代码: 全选

] ls -ld //
fnan
帖子: 919
注册时间: 2009-07-01 22:04

Re: 求助:怎样找到指定目录(包括其子目录)下所有可执行文件的完整路径?

#4

帖子 fnan » 2011-08-03 0:12

注意find连隐藏文件一起找出来的。
bash不如perl精妙,学不到lisp的皮毛,远不够c++强悍,不过可以用。
头像
zwdnet
帖子: 348
注册时间: 2010-06-09 15:22

Re: 求助:怎样找到指定目录(包括其子目录)下所有可执行文件的完整路径?

#5

帖子 zwdnet » 2011-08-03 7:46

谢谢,执行了,的确能找出可执行文件,但是好像只是把他们列出来,但是删不掉。
我改了一下,改成

代码: 全选

find . -executable | xargs rm '{}' ';'
搞定了!谢谢各位帮助!
您好,请多关照!
fnan
帖子: 919
注册时间: 2009-07-01 22:04

Re: 求助:怎样找到指定目录(包括其子目录)下所有可执行文件的完整路径?(已解决)

#6

帖子 fnan » 2011-08-03 22:11

三楼就是让你先看看有没有藏起来的不要删除的东东。 :em04
bash不如perl精妙,学不到lisp的皮毛,远不够c++强悍,不过可以用。
回复