回复目录中的文件不区分大小写?

时间:2013-06-29 05:22:54

标签: bash

目前,在我的bash脚本中,我打印出目录中所有文件的列表。问题是,所有以大写字母开头的文件首先打印,然后打印小写。如何组合制作一个按字母顺序排列的列表?这是一个或多或少的系统文件列表,我无法将其重命名为相同的情况。

编辑:我需要在每个文件上运行if,这就是我使用循环的原因。我不能只展示它们。

示例:

for file in *.txt
do
    if grep -Fxq "$file" disabled.dat
  then
     echo -e "$GREEN${file}$NC"
  else
     echo "${file}"
  fi
done

输出:

Apple.txt
Banana.txt
Pear.txt
aardvark.txt
snake.txt
zebra.txt

我是bash的新手所以非常感谢所有的帮助。谢谢!

1 个答案:

答案 0 :(得分:6)

更改操作系统使用的归类顺序。

$ LC_COLLATE=C bash -c 'echo *.txt'
Apple.txt Banana.txt Pear.txt aardvark.txt snake.txt zebra.txt
$ LC_COLLATE=en_US bash -c 'echo *.txt'
aardvark.txt Apple.txt Banana.txt Pear.txt snake.txt zebra.txt