忽略文件并仅考虑子文件夹

时间:2013-07-10 15:35:32

标签: shell

我想编写一个shell来执行以下操作:

1)浏览当前文件夹中的所有子文件夹 2)如果子文件夹中没有文件包含单词" ABC",则删除该子文件夹

#!/bin/bash

echo off
CurrentFolder=.

for f in $CurrentFolder
do
    if [ grep ABC $f/* | wc -l = 0 ]
    then
       rm -rf $f
    fi
done

当前文件夹包含一些文件,我的第一个问题是如何让f忽略文件并且只浏览所有子文件夹。

我的第二个问题是,if [ grep ABC $f | wc -l = 0 ]是否正确?

1 个答案:

答案 0 :(得分:0)

关于你的第一个问题,非常奇怪

for d in ./*/; do echo $d; done

只给了我目录,即使在/ bin / sh中也是如此。但是,这听起来完全过于简单。或者,您可以尝试

find . -type d -maxdepth 1

(查找类型目录,只有一个级别深),其中包括隐藏目录和。本身。