【问题标题】:bash: After testing mtime by following a symlink, I need to delete the symlink itself and not the target filebash:通过遵循符号链接测试 mtime 后,我需要删除符号链接本身而不是目标文件
【发布时间】:2011-02-26 06:55:59
【问题描述】:

现在我有一个脚本,可以将公用文件夹中超过 2 周的任何内容创建符号链接到另一个文件夹中。但是,我找不到任何单独摆脱陈旧符号链接的好方法,而不是清除所有内容。我需要测试符号链接目标 mtime,如果它超过 2 周,请删除符号链接本身而不是链接文件。

#!/bin/bash

source="/media/public/"
dest="/pool/new/"

if [[ ! -d $dest ]]; then
    exit 1
fi

if [ `hostname` == "punk" ] && [ `uname -o` == "GNU/Linux" ]; then
    #rm -f $dest/*
    find -L $dest -mtime 14 -type f -exec echo "delete symlink: " {} \;
    find -L $source -mtime -14 -type f -exec ln -s -t $dest {} \;
fi

现在第一个 find 命令将删除目标而不是符号链接。

【问题讨论】:

    标签: bash find symlink


    【解决方案1】:

    简单使用

    -exec rm {} +
    

    rm 将删除链接本身,而不是目标。

    【讨论】:

      猜你喜欢
      • 2015-11-06
      • 2012-09-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-21
      相关资源
      最近更新 更多