如何移动目录中除最近修改时间之外的所有文件?
答案 0 :(得分:1)
几乎没有假设:
mv $(ls -lt | grep ^- | awk 'NR>1 {print $NF}') other_directory
使用ls -l|grep ^-
我们grep查看普通文件。 ls -t
按照mtime排序,最小的是第一个。然后Awk剥离最年轻的并打印文件名。是不是很酷!?
答案 1 :(得分:0)
假设GNU coreutils:
stat -c "%Y:%F:%n" * |
sort -t: -n |
grep ':regular file:' |
head -n -1 |
cut -d: -f3- |
xargs mv -t other_directory
stat
发出修改后的类型和文件类型sort
按时间排序grep
忽略子目录head
列出除最新文件之外的所有文件cut
仅提取文件名xargs
提供文件名作为mv
答案 2 :(得分:0)
实际上是通过使用以下内容来解决的:
find /Users/tb582/Desktop/scripts/output -type f -maxdepth 1 -not -cmin -2 -exec mv {} /Users/tb582/Desktop/scripts/output/archive \;