当我有文件a.txt,b.txt并且c.txt是保证该
cat *.txt > all_files.txt
Run Code Online (Sandbox Code Playgroud)
要么
cat ?.txt > all_files.txt
Run Code Online (Sandbox Code Playgroud)
将按字母顺序组合文件?
(在我的所有测试中,字母顺序都被保留了,但是我不确定,因为例如ls订单是未定义的并且不需要是字母 - 但它经常是,因为文件经常按字母顺序写入目录)
不,这取决于区域设置.顺序由区域设置中的归类序列决定,可以使用LC_COLLATE或LC_ALL环境变量进行更改.请注意,bash在这方面的行为与其他一些shell(例如Korn shell)的行为不同.
如果您具有区域设置,C或者POSIX它将按字符集顺序排列.否则,您可能只会注意到混合大小写字母的差异,例如en_ locales的序列是aAbBcC ... xXyYzZ.例如,请参阅http://collation-charts.org/fc6/fc6.en_GB.iso885915.html.
可以使用列出可用的区域设置locale -a.
编辑:另一个变量LANG可用,但现在通常不会使用太多.根据Single UNIX Specification,使用它:在没有LC_ALL和其他LC_*...环境变量的情况下.