Per*_*ika 43 sorting bash loops
我使用以下命令循环目录中的所有文件:
for i in *.fas; do some_code; done;
Run Code Online (Sandbox Code Playgroud)
但是,我收到这样的订单:
vvchr1.fas
vvchr10.fas
vvchr11.fas
而不是vvchr1.fas,vvchr2.fas,vvchr3.fas,什么是数字顺序.
我尝试过sort命令,但没有成功.
cat*_*che 86
for i in `ls *.fas | sort -V`; do some_code; done;
Run Code Online (Sandbox Code Playgroud)
其中,sort -V根据做man sort一个版本排序-一个自然排序文本内(版本)号
同样只使用ls:
for i in `ls -v *.fas`; do echo $i; done;
Run Code Online (Sandbox Code Playgroud)
gta*_*gil 12
使用选项sort -g它根据一般数值进行比较
for FILE in `ls ./raw/ | sort -g`; do echo "$FILE"; done
Run Code Online (Sandbox Code Playgroud)
0.log 1.log 2.log ... 10.log 11.log
仅当文件名是数字时这才有效。如果它们是字符串,您将按字母顺序获得它们。例如:
for FILE in `ls ./raw/* | sort -g`; do echo "$FILE"; done
Run Code Online (Sandbox Code Playgroud)
原始/0.log 原始/10.log 原始/11.log ... 原始/2.log
| 归档时间: |
|
| 查看次数: |
55988 次 |
| 最近记录: |