[foo@machine]$ ls -lt
-rw-r--r-- 1 yokke yokke 43051 1月 12 21:59 D1000220.JPG
-rw-r--r-- 1 yokke yokke 329940 1月 12 08:13 D1000225.JPG
-rw-r--r-- 1 yokke yokke 318492 1月 12 07:59 b1000224.JPG
-rw-r--r-- 1 yokke yokke 308598 1月 12 07:59 D1000223.JPG
-rw-r--r-- 1 yokke yokke 315106 1月 12 07:59 D1000222.JPG
-rw-r--r-- 1 yokke yokke 319583 1月 12 07:58 D1000221.JPG
-rw-r--r-- 1 yokke yokke 350366 1月 11 08:13 D1000203.JPG
-rw-r--r-- 1 yokke yokke 319385 1月 11 08:07 C1000204.JPG
-rw-r--r-- 1 yokke yokke 333687 1月 11 08:06 D1000205.JPG
-rw-r--r-- 1 yokke yokke 327803 1月 11 08:06 D1000206.JPG
-rw-r--r-- 1 yokke yokke 325673 1月 11 07:58 D1000207.JPG
-rw-r--r-- 1 yokke yokke 298094 1月 11 07:58 a1000208.JPG
-rw-r--r-- 1 yokke yokke 310762 1月 11 07:57 D1000209.JPG
-rw-r--r-- 1 yokke yokke 240922 1月 10 19:11 D1000210.JPG
-rw-r--r-- 1 yokke yokke 290214 1月 10 19:11 D1000211.JPG
-rw-r--r-- 1 yokke yokke 262681 1月 10 19:11 D1000212.JPG
-rw-r--r-- 1 yokke yokke 275920 1月 8 18:19 G1000214.JPG
-rw-r--r-- 1 yokke yokke 310360 1月 8 18:19 d1000215.JPG
-rw-r--r-- 1 yokke yokke 307188 1月 8 12:03 D1000216.JPG
-rw-r--r-- 1 yokke yokke 261962 1月 8 09:54 11000217.JPG
-rw-r--r-- 1 yokke yokke 286347 1月 8 09:54 D1000218.JPG
-rw-r--r-- 1 yokke yokke 289542 1月 8 09:54 D1000219.JPG
-rw-r--r-- 1 yokke yokke 263363 9月 14 20:28 D1130202.JPG
In last column, we have obtained intended, non-alphabetical- order lists, with respect to filenames.
Now, we assume these filename should be obtained with alphabetical order, in addition, ignoring capital and lower cases. Namely, we would like to ignore the difference between 'A-' and 'a-'.
Unfortunately 'ls' command has no ignoring option of capital distinguishes.
So we have to use 'sort' command which contains ignore-case option.
Following script sample would obtain these problem solution.
#!/bin/bash
FileOutput="./ls_sort.log"
## obtaining original ls output
FileTmp="./tmp.txt"
nLine=`ls -lt | wc -l | awk '(NR==1){printf("%d\n",$1)}'`
echo "ls list count : "${nLine}
nLine=$((nLine-1))
ls -lt | tail -n${nLine} > ${FileTmp}
## extract field count
nField=`awk '(NR==2){printf("%d\n",NF)}' ${FileTmp}`
echo "target column number : "${nField}
sort --dictionary-order --ignore-case --key=${nField} ${FileTmp}
sort --dictionary-order --ignore-case --key=${nField} ${FileTmp} > ${FileOutput}
Output derived from above script is shown in followings:
[foo@machine]$ ./align_alphabetical_order.sh
ls list count : 27
target column number : 9
-rw-r--r-- 1 yokke yokke 261962 1月 8 09:54 11000217.JPG
-rw-r--r-- 1 yokke yokke 298094 1月 11 07:58 a1000208.JPG
-rwxrwxr-x 1 yokke yokke 508 1月 12 22:44 align_alphabetical_order.sh
-rw-r--r-- 1 yokke yokke 318492 1月 12 07:59 b1000224.JPG
-rw-r--r-- 1 yokke yokke 319385 1月 11 08:07 C1000204.JPG
-rw-r--r-- 1 yokke yokke 350366 1月 11 08:13 D1000203.JPG
-rw-r--r-- 1 yokke yokke 333687 1月 11 08:06 D1000205.JPG
-rw-r--r-- 1 yokke yokke 327803 1月 11 08:06 D1000206.JPG
-rw-r--r-- 1 yokke yokke 325673 1月 11 07:58 D1000207.JPG
-rw-r--r-- 1 yokke yokke 310762 1月 11 07:57 D1000209.JPG
-rw-r--r-- 1 yokke yokke 240922 1月 10 19:11 D1000210.JPG
-rw-r--r-- 1 yokke yokke 290214 1月 10 19:11 D1000211.JPG
-rw-r--r-- 1 yokke yokke 262681 1月 10 19:11 D1000212.JPG
-rw-r--r-- 1 yokke yokke 310360 1月 8 18:19 d1000215.JPG
-rw-r--r-- 1 yokke yokke 307188 1月 8 12:03 D1000216.JPG
-rw-r--r-- 1 yokke yokke 286347 1月 8 09:54 D1000218.JPG
-rw-r--r-- 1 yokke yokke 289542 1月 8 09:54 D1000219.JPG
-rw-r--r-- 1 yokke yokke 43051 1月 12 21:59 D1000220.JPG
-rw-r--r-- 1 yokke yokke 319583 1月 12 07:58 D1000221.JPG
-rw-r--r-- 1 yokke yokke 315106 1月 12 07:59 D1000222.JPG
-rw-r--r-- 1 yokke yokke 308598 1月 12 07:59 D1000223.JPG
-rw-r--r-- 1 yokke yokke 329940 1月 12 08:13 D1000225.JPG
-rw-r--r-- 1 yokke yokke 263363 9月 14 20:28 D1130202.JPG
-rw-r--r-- 1 yokke yokke 275920 1月 8 18:19 G1000214.JPG
-rw-rw-r-- 1 yokke yokke 1510 1月 12 22:44 ls_sort.log
-rw-rw-r-- 1 yokke yokke 0 1月 12 22:58 tmp.txt
target column number : 9
-rw-r--r-- 1 yokke yokke 261962 1月 8 09:54 11000217.JPG
-rw-r--r-- 1 yokke yokke 298094 1月 11 07:58 a1000208.JPG
-rwxrwxr-x 1 yokke yokke 508 1月 12 22:44 align_alphabetical_order.sh
-rw-r--r-- 1 yokke yokke 318492 1月 12 07:59 b1000224.JPG
-rw-r--r-- 1 yokke yokke 319385 1月 11 08:07 C1000204.JPG
-rw-r--r-- 1 yokke yokke 350366 1月 11 08:13 D1000203.JPG
-rw-r--r-- 1 yokke yokke 333687 1月 11 08:06 D1000205.JPG
-rw-r--r-- 1 yokke yokke 327803 1月 11 08:06 D1000206.JPG
-rw-r--r-- 1 yokke yokke 325673 1月 11 07:58 D1000207.JPG
-rw-r--r-- 1 yokke yokke 310762 1月 11 07:57 D1000209.JPG
-rw-r--r-- 1 yokke yokke 240922 1月 10 19:11 D1000210.JPG
-rw-r--r-- 1 yokke yokke 290214 1月 10 19:11 D1000211.JPG
-rw-r--r-- 1 yokke yokke 262681 1月 10 19:11 D1000212.JPG
-rw-r--r-- 1 yokke yokke 310360 1月 8 18:19 d1000215.JPG
-rw-r--r-- 1 yokke yokke 307188 1月 8 12:03 D1000216.JPG
-rw-r--r-- 1 yokke yokke 286347 1月 8 09:54 D1000218.JPG
-rw-r--r-- 1 yokke yokke 289542 1月 8 09:54 D1000219.JPG
-rw-r--r-- 1 yokke yokke 43051 1月 12 21:59 D1000220.JPG
-rw-r--r-- 1 yokke yokke 319583 1月 12 07:58 D1000221.JPG
-rw-r--r-- 1 yokke yokke 315106 1月 12 07:59 D1000222.JPG
-rw-r--r-- 1 yokke yokke 308598 1月 12 07:59 D1000223.JPG
-rw-r--r-- 1 yokke yokke 329940 1月 12 08:13 D1000225.JPG
-rw-r--r-- 1 yokke yokke 263363 9月 14 20:28 D1130202.JPG
-rw-r--r-- 1 yokke yokke 275920 1月 8 18:19 G1000214.JPG
-rw-rw-r-- 1 yokke yokke 1510 1月 12 22:44 ls_sort.log
-rw-rw-r-- 1 yokke yokke 0 1月 12 22:58 tmp.txt
Do you understand?
0 件のコメント:
コメントを投稿