1

我维护了多个邮件服务器,这些邮件服务器在每个用户文件夹中都有明文配置文件,具有以下层次结构:

domain.com
->user1
->user2
anotherdomain.com
->user3
->user4

每个用户的文件夹中都有一个需要编辑的文件。每个文件需要将第一部分更改为以下内容:

#!0 __WebmailJunk__
#if allof (spamtest, not address :all :is "From" "") {
#  fileinto "Junk E-mail";
#  stop;
#}

从:

#!1 __WebmailJunk__
if spamtest {
fileinto "Junk E-mail";
stop;
}

这是假设文件尚未更改。

我想我想出了如何使用以下代码一一编辑文件:

while read line 
do
    CHARACTER=`echo $line | cut -c 1`
    if [[ $CHARACTER == "}" ]] ;
        then
            exit 0
    fi
    sed -i -e 's/^/#/' <filename>
done

还没有弄清楚如何解析每个用户目录只有一个文件夹深来编辑文件。有问题的服务器正在运行 CentOS 6.4。

4

1 回答 1

0

您可以使用 find 来匹配用户文件吗?例如

find ./ -maxdepth 1 -name "user*" -exec script_that_does_text_replace.sh {\} \;

script_that_does_text_replace.sh你上面写的代码在哪里。

于 2013-07-30T12:02:47.810 回答