【问题标题】:SVN Status show files in descending order (date modified)SVN 状态以降序显示文件(修改日期)
【发布时间】:2014-04-09 17:35:02
【问题描述】:

有谁知道如何对“svn st”的输出进行排序以按降序显示文件?本质上相当于'ls -lt'

我一直在运行“find ./ -mtime -1 -print”来查看我在最后一天更改了哪些文件,但我想知道是否有办法使用 svn 向我显示我的 SVN 文件列表'已按降序更改。

我已经在一个项目上工作了大约 2 个月,所有这些都是本地编辑,100 多个文件我想根据我编辑它们的时间进行排序。

【问题讨论】:

    标签: sorting date unix svn ls


    【解决方案1】:
    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

    【讨论】:

      【解决方案2】:
      svn stat | grep "^M" | awk '{print $NF}' | xargs ls -lt
      

      这会获取所有修改过的文件并在批处理上运行 ls -lt。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-02-14
        • 2014-04-25
        • 1970-01-01
        • 2014-05-14
        • 2016-07-26
        • 2017-12-07
        • 1970-01-01
        相关资源
        最近更新 更多