有谁知道如何排序'svn st
'的输出以降序显示文件?本质上,相当于'ls -lt
'
我一直在运行'find ./ -mtime -1 -print
'以查看我在最后一天更改了哪些文件,但是我想知道是否有一种方法可以使用svn向我显示SVN文件列表,我已经在降序中更改了订购。
我已经在一个项目工作了大约2个月,所有这些都是本地编辑,100多个文件,我想根据我编辑它们的时间排序。
svn status | while read -N 8 status && read file; do
mtime=$(stat -c %Y "$file" 2>/dev/null || echo 0)
printf '%010d\t%s%s\n' "$mtime" "$status" "$file"
done | sort -rn | cut -f 2-
while循环将文件名与状态指示符分开,然后在每行前面加上文件的修改时间。然后通过管道输出该输出以按修改时间对它们进行排序。最后,cut删除时间戳,保留原始输出但按排序顺序。
删除的文件最终位于底部,因为您删除它们的时间未知。如果你想让他们在顶部将echo 0
更改为echo 999999999
。
svn stat | grep "^M" | awk '{print $NF}' | xargs ls -lt
这将获取所有已修改的文件并在批处理上运行ls -lt。