在OSX终端中,我们如何按字母数字顺序遍历以数字开头的文件?
到目前为止,我有一个bash脚本,它以不明显的顺序遍历文件:
FILES=/Users/somefolder/*.txt
for f in $FILES
do
echo $f
done
此外,我的文件以数字开头,例如,当我在ls中使用ls开关时,它们被列出如下:
10_file.txt
11_file.txt
21_file.txt
2_file.txt
然而,我希望订单是:2_file.txt,10_file.txt,11_file.txt和21_file.txt
我试图按字母顺序对文本文件中的所有单词进行排序。这是我的代码:
filename=input('Write the name of the file :')
fh=open(filename)
wlist=list()
for line in fh:
line=line.rstrip()
ls=line.split()
for w in ls:
if w not in wlist:
wlist.append(w)
print(wlist)
输出是可以的,但是每当我尝试print(wlist.sort
我有一个将排序规则设置为cs_CZ (捷克)的表:
Name | Encoding | Collation | CType
-----------+----------+-------------+-------------
foo | UTF8 | cs_CZ.UTF-8 | cs_CZ.UTF-8
但是,当我按字符串排序时,结果不会按捷克字母排序:
=> SELECT surname FROM foo ORDER BY surname;
surname
-----------------
A
Da
Ďb
Dc
E
因此,
我的驱动器中有45个目录,其命名格式为Sub1,Sub2..Sub45每个目录包含300多个文本文件,每个目录中的所有文本文件都有相同的命名格式。
regional_vol_GM1.txt
regional_vol_GM2.txt
regional_vol_GM*.txt
我想按顺序排列每个目录中的目录和文本文件,并将每个文件中的数据导出到csv文件中,
下面是我写的脚本
eval "dirs=($(ls -v --quoting-style=shell-always))"
for dir in "${dirs[@]}"; do
eval "
我正在试验Linux的sort命令。我有file1:
one
two
three
four
five
我试过了:
sort -R file
该命令的输出始终按预期随机排序
然后我试着:
sort --random-source=/dev/urandom file1
并且该命令始终具有以下输出:
five
four
one
three
two
为什么最后一个排序命令的输出总是相同的?不是应该总是用这个命令随机排序吗?
我能得到为什么会发生这种情况的解释吗?