ディレクトリ構成を保ったままn日以前のファイルを移動する
移動先のディレクトリ作成
find /from -type f -mtime +31 | xargs -I {} dirname {} | sort | uniq | sed 's!/from!/to!g' | xargs mkdir -pv
ファイルを移動
find /from -type f -mtime +31 | sed 's!\(/from\)\(.*\)!\1\2 /to\2!g' | xargs --max-args=2 mv -v
rsyncとか使ってコピーした後に削除とかやりたかったけど、n日以前のファイルコピー方法が分からなかった。
xargsが引数を複数取ることが出来るのを初めて知った。便利。