首先使用 MinGW ls 列出目录

首先使用 MinGW ls 列出目录

我最近开始在 Windows 7 计算机上使用 MinGW 而不是 Cygwin,但 MinGW 的 有点问题ls。在 Cygwin 中,ls有一个--group-directories-first选项,显然会导致目录列在其他文件类型之前。但是,MinGW 似乎没有这个选项,我找不到它的替代品。有替代品吗?

答案1

这属于“替代品”。以下脚本将大致模拟其行为,ls –l不同之处在于它在每个目录列表的开头对子目录进行分组。

/bin/sh - #!
排序_ls_输出()
{
    sed -n -e ‘1s/^/1#/p’ -e ‘1n’ \
        -e 's/^/#/' -e 's/^#d/2#d/' -e 's/^#/3#/' -ep \
        | cat -n | sort -n -k2 -k1 | sed's/[^#]*#//'
}

如果 [ $# = 0 ]
然后
    ls -l | sort_ls_输出
别的
    对于参数
        回声
        如果[-d“$arg”]
        然后
            回显“${arg}:”
            ls -l “$arg” | sort_ls_output
        别的
            ls -l “$arg”
    完毕

这是粗略的版本。它不会像命令行那样处理单个普通文件(非目录) ,而且它根本ls –l不处理选项(例如)。–a

相关内容