6

すべての隠しファイルを無視したいのですが、特に .git および .svn のファイルを検索 (および後で置換) するときは無視したいのですが、多くのオンライン チュートリアルで説明されているこのような隠しファイルを除外する最も基本的な方法がここでは機能しないことがわかりました。

find . -not -name ".*"

隠しファイルも印刷します。

私が書こうとしているスクリプトは

replace() {
    if [ -n "$3" ]; then expr="-name \"$3\""; fi
    find . -type f \( $expr -not -name ".*" \) -exec echo sed -i \'s/$1/$2/g\' {} \;
    unset expr
}
4

2 に答える 2

0

正しいバージョン

replace() {
        if [ -n "$3" ]; then expr=-name\ $3; fi
        find $PWD -name '.*' -prune -o $expr -type f -exec sed -i s/$1/$2/g {} \;
        unset expr
}
于 2013-06-03T17:04:22.940 に答える