由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Linux版 - shell 编程遍历每个子目录去做make clean怎么做呀?
相关主题
求教关于makefile可选target的问题有没有 vim plugin 查找函数被调用的地方?
scp 选择性的转移某些文件,怎么操作?请教bash命令
C++ 诡异的编译问题。请教。请推荐一款虚拟机
菜鸟 wget 问题求教grep 的问题
请高手解答grep和ls的两个问题怎么看网络电视啊?
如何用’sed‘ comment out 某一行。问问应该学用那个shell?
subversion 初学者问题Grep 能作这个吗?
求一个脚本你们谁写过长一点儿的python?
相关话题的讨论汇总
话题: makefile话题: dir话题: cd话题: make话题: clean
进入Linux版参与讨论
1 (共1页)
h****g
发帖数: 772
1
就是干这个事,我不会怎么写这个遍历?只好这么土土地干,谁能帮我走到任意深的目
录去make
clean呀
#!/bin/bash
for dir in `ls -l|grep ^d |awk '{print $NF}'`
do
cd $dir
for dir in `ls -l|grep ^d |awk '{print $NF}'`
do
cd $dir
for dir in `ls -l|grep ^d |awk '{print $NF}'`
do
cd $dir
for dir in `ls -l|grep ^d |awk '{print $NF}'`
do
cd $dir
if [ -f Makefile ];
then
pwd
make clean
rm -f .*.swp
fi
cd ..
done
if [ -f Makefile ];
then
pwd
make clean
rm -f .*.swp
fi
cd ..
done
if [ -f Makefile ] ;
then
pwd
make clean
rm -f .*.swp
fi
cd ..
done
if [ -f Makefile ] ;
then
pwd
make clean
rm -f .*.swp
fi
cd ..
done
if [ -f Makefile ] ;
then
pwd
make clean
rm -f .*.swp
fi
M*V
发帖数: 3205
2
ft,递归调用
...

【在 h****g 的大作中提到】
: 就是干这个事,我不会怎么写这个遍历?只好这么土土地干,谁能帮我走到任意深的目
: 录去make
: clean呀
: #!/bin/bash
: for dir in `ls -l|grep ^d |awk '{print $NF}'`
: do
: cd $dir
: for dir in `ls -l|grep ^d |awk '{print $NF}'`
: do
: cd $dir

l*******G
发帖数: 1191
3
Try all in one line:
find . -name Makefile |xargs -I {} dirname {} |xargs -I {} bash -c "pushd .
; cd {}; make clean ; rm -f .*.swp; popd"
x**m
发帖数: 941
4
我一开始也在想递归,但是好像用个循环也可以做:
#!/bin/bash
for d in `find . -type d`
do
(cd $d; make clean)
done
x**m
发帖数: 941
5
我一开始也在想递归,但是好像用个循环也可以做:
#!/bin/bash
for d in `find . -type d`
do
(cd $d; make clean)
done
h****g
发帖数: 772
6
这个好是好,但是有没有办法控制find输出结果的顺序呢?
我想要先走到最底层,make clean然后再逐级出来,同级的各个目录的顺序无所谓

【在 x**m 的大作中提到】
: 我一开始也在想递归,但是好像用个循环也可以做:
: #!/bin/bash
: for d in `find . -type d`
: do
: (cd $d; make clean)
: done

j*a
发帖数: 14423
7
make有这样的功能呀
我记得每个目录都弄个makefile.

【在 h****g 的大作中提到】
: 就是干这个事,我不会怎么写这个遍历?只好这么土土地干,谁能帮我走到任意深的目
: 录去make
: clean呀
: #!/bin/bash
: for dir in `ls -l|grep ^d |awk '{print $NF}'`
: do
: cd $dir
: for dir in `ls -l|grep ^d |awk '{print $NF}'`
: do
: cd $dir

d**o
发帖数: 864
8
ft....
每个目录下搞一个makefile..

【在 h****g 的大作中提到】
: 就是干这个事,我不会怎么写这个遍历?只好这么土土地干,谁能帮我走到任意深的目
: 录去make
: clean呀
: #!/bin/bash
: for dir in `ls -l|grep ^d |awk '{print $NF}'`
: do
: cd $dir
: for dir in `ls -l|grep ^d |awk '{print $NF}'`
: do
: cd $dir

x**m
发帖数: 941
9
排个序就好了:
#!/bin/bash
for d in `find . -type d | sort -r`
do
(cd $d; make clean)
done

【在 h****g 的大作中提到】
: 这个好是好,但是有没有办法控制find输出结果的顺序呢?
: 我想要先走到最底层,make clean然后再逐级出来,同级的各个目录的顺序无所谓

j****x
发帖数: 943
10
correct

【在 j*a 的大作中提到】
: make有这样的功能呀
: 我记得每个目录都弄个makefile.

相关主题
如何用’sed‘ comment out 某一行。有没有 vim plugin 查找函数被调用的地方?
subversion 初学者问题请教bash命令
求一个脚本请推荐一款虚拟机
进入Linux版参与讨论
l*****u
发帖数: 12114
11
看看linux kernel的Makefile不就得了?

的目

【在 j*a 的大作中提到】
: make有这样的功能呀
: 我记得每个目录都弄个makefile.

N****w
发帖数: 21578
12
那个太复杂了
其实如果每个子目录都需要相同的 makefile,俺有一招
SUBDIRS = $(shell find . -maxdepth 1 -o -type d -name [^.]\* -print | sed s/
\\s/\\+/g)
all: makesubdirs target
.PHONY: makesubdirs $(SUBDIRS)
makesubdirs: $(SUBDIRS)
$(SUBDIRS):
if (test ! -f $(subst +,\ ,$@)/Makefile); then cp Makefile $(subst +
,\ ,$@); fi
$(MAKE) -C $(subst +,\ ,$@)
target:
do sth

【在 l*****u 的大作中提到】
: 看看linux kernel的Makefile不就得了?
:
: 的目

d*********8
发帖数: 2192
13
正规传统做法是每个目录一个MAKEFILE
自己折腾SHELL会被认为没有业内经验。
d*********8
发帖数: 2192
14
可能你不知道 make -C path
才会问这样的问题。
l****g
发帖数: 122
15
option -R for ls
-R, --recursive
list subdirectories recursively
h****g
发帖数: 772
16
然后呢?怎么让make逐个调用它们呢?
还是make有什么选项?

【在 d*********8 的大作中提到】
: 正规传统做法是每个目录一个MAKEFILE
: 自己折腾SHELL会被认为没有业内经验。

j*a
发帖数: 14423
17
这你得去RTFM

【在 h****g 的大作中提到】
: 然后呢?怎么让make逐个调用它们呢?
: 还是make有什么选项?

B*V
发帖数: 3365
18
parent folder的makefile。am 里面写有子目录的内容阿
不知道你什么意思
一般工程师
/project/src/make.am
/project/anothercase/makefile.am
....... /makefile.am
/project/makefile。am里面
SUBDIR = src anothercase
然后再/build/里面make
就会把子目录的豆调用了

【在 h****g 的大作中提到】
: 然后呢?怎么让make逐个调用它们呢?
: 还是make有什么选项?

S***d
发帖数: 1802
19
Google automake (This is where .am files are for)
N****w
发帖数: 21578
20
did you try this:
http://mitbbs.com/article1/Linux/31259325_3_0.html

【在 h****g 的大作中提到】
: 然后呢?怎么让make逐个调用它们呢?
: 还是make有什么选项?

S******y
发帖数: 1123
21
Use Python - os.walk - to traverse directories
1 (共1页)
进入Linux版参与讨论
相关主题
你们谁写过长一点儿的python?请高手解答grep和ls的两个问题
问个 ps 命令的问题如何用’sed‘ comment out 某一行。
QTerm中文输入问题subversion 初学者问题
请教怎样截取文本中的一段求一个脚本
求教关于makefile可选target的问题有没有 vim plugin 查找函数被调用的地方?
scp 选择性的转移某些文件,怎么操作?请教bash命令
C++ 诡异的编译问题。请教。请推荐一款虚拟机
菜鸟 wget 问题求教grep 的问题
相关话题的讨论汇总
话题: makefile话题: dir话题: cd话题: make话题: clean