我想列出一堆按名称排序的文件,不包括文件扩展名。我在目录中有这些文件
$ls
mobility_arXiv.tex
mobility_SR.bbl
paper-hj-mm.tex
paper-hj-mm-vp-rkp.tex
paper-hj.tex
我想要输出
mobility_arXiv.tex
mobility_SR.bbl
paper-hj.tex
paper-hj-mm.tex
paper-hj-mm-vp-rkp.tex
有没有办法实现这一目标。
1
在Linux中,它不关心它是否是扩展 - 它是文件名的一部分。它恰好是Dash( - )有一个0x2D十六进制代码而Dot有一个0x2E十六进制代码,因此短划线按字母顺序排列
—
烟灰缸2014年
我假设你的意思是你的第二个片段,以排除'.EXT'部分.. ??
—
jmetz 2014年
@Ashtray,谢谢你的解释。但是
—
imsc 2014年
paper-hj-mm.tex
之前为什么会在之前列出paper-hj-mm-vp-rkp.tex
@imsc真的不能说,但我认为他们对每个字符编码都有一些排序规则。尽管如此,
—
烟灰缸
sort
或ls
实用程序并没有对文件扩展感到
@Ashtray确实
—
Patrick Mevzek
LANG=C ls
会对扩展进行排序,因此对于这个问题来说将是一个简单的解决方案。看到这个答案:stackoverflow.com/a/18451819