sorting - SVN状态按降序显示文件(修改日期)

标签 sorting date unix svn ls

有谁知道如何对“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

关于sorting - SVN状态按降序显示文件(修改日期),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22235391/

相关文章:

linux - 生产者消费者实现

ruby-on-rails - 在 Rails 中旋转后台任务

python - `PriorityQueue` 是否尊重元组的顺序?

java - 如何根据 DateFormat.SHORT 和语言环境显示 Date 对象的时间?

linux - 查找比特定列长/短的记录

mysql - 将 MySQL 中的多行儒略日期转换为公历日期

java.text.ParseException : Unparseable date: "20050327020000" 异常

javascript - 如何在多个键上对 ImmutableJS List 对象进行排序?

ruby - 如何对日期数组进行排序,使其不连续?

c++ - 合并排序 k 列表 c++