小编Kau*_*odi的帖子

ls 是否有可能保持其输入的顺序

如果我这样做/usr/bin/which --all git,它显示我的所有出现git在我$PATH在第一行显示有效的一种

从下图中,中的git版本/home/kmodi/stowed/bin/git是有效的。

现在我想知道结果的真实文件名。

所以对于/home/kmodi/stowed/bin/git,这是一个符号链接,我想知道它指向什么。

/usr/bin/which --all git | xargs \ls -Fpl显示符号链接参考。但是输出令人困惑..不保留列出文件的原始顺序!因此,现在查看该输出(如下),人们可能会认为其中的版本/cad/..是有效的git二进制路径。

有没有办法xargs保留该订单?

在此处输入图片说明


如果重要的话,我正在使用tcshshell。


感谢 John 关于 的提示-n 1,我终于有了我喜欢的解决方案。太乱了……那些名言!(感谢tcsh),但它有效。

alias whichall '/usr/bin/which --all \!* \\
                | xargs -n 1 \ls -Fpl --color=always \\
                | awk -v OFS="" '"'"'{$1=$2=$3=$4=$5=$6=$7=$8=""; print $0}'"'"' \\
                | \sed '"'"'/^$/d'"'"'; \\
               '
Run Code Online (Sandbox Code Playgroud)

现在whichall git …

ls xargs

2
推荐指数
1
解决办法
633
查看次数

标签 统计

ls ×1

xargs ×1