在find的-exec参数里编写复杂的脚本总是很麻烦,通常我都是这样执行:
[code]
find . -type f | while read f;
do
echo $f;
# do something
done
[/code]
偶然间发现find可以接受多个-exec:
[code]
mkdir -p a/b/c/ # 先创建测试用例
find . -name b -exec mkdir -p {}/1/2/3/ \; -exec touch {}/1/hello \;
ls a/b/1/ # 可以看到有新创建的hello文件
# 但是这样的话,则会报错。-exec执行的先后就是,命令出现的先后。
find -name -b -exec touch {}/0/world \; -exec mkdir {}/0 \;
[/code]
多个-exec,有时候比while要方便多了。
[code]
find . -type f | while read f;
do
echo $f;
# do something
done
[/code]
偶然间发现find可以接受多个-exec:
[code]
mkdir -p a/b/c/ # 先创建测试用例
find . -name b -exec mkdir -p {}/1/2/3/ \; -exec touch {}/1/hello \;
ls a/b/1/ # 可以看到有新创建的hello文件
# 但是这样的话,则会报错。-exec执行的先后就是,命令出现的先后。
find -name -b -exec touch {}/0/world \; -exec mkdir {}/0 \;
[/code]
多个-exec,有时候比while要方便多了。