Linux

如何自定義字元排序順序?

  • November 9, 2020

如何在 Linux 中設置字元的字元順序/優先級?

我目前正在使用該命令進行測試,如下所示:

ls -al --group-directories-first

假設我有以下文件:

a
b
c
A
B
C
.a
.b
.c
.A
.B
.C

ls 的預設輸出是這樣的:

-rw-r--r--  1 username  username     0 Jan 11 07:18 a
-rw-r--r--  1 username  username     0 Jan 11 07:55 .a
-rw-r--r--  1 username  username     0 Jan 11 07:18 A
-rw-r--r--  1 username  username     0 Jan 11 07:55 .A
-rw-r--r--  1 username  username     0 Jan 11 07:18 b
-rw-r--r--  1 username  username     0 Jan 11 07:55 .b
-rw-r--r--  1 username  username     0 Jan 11 07:18 B
-rw-r--r--  1 username  username     0 Jan 11 07:55 .B
-rw-r--r--  1 username  username     0 Jan 11 07:18 c
-rw-r--r--  1 username  username     0 Jan 11 07:55 .c
-rw-r--r--  1 username  username     0 Jan 11 07:18 C
-rw-r--r--  1 username  username     0 Jan 11 07:55 .C

我想要的輸出順序:

-rw-r--r--  1 username  username     0 Jan 11 07:55 .A
-rw-r--r--  1 username  username     0 Jan 11 07:55 .a
-rw-r--r--  1 username  username     0 Jan 11 07:55 .B
-rw-r--r--  1 username  username     0 Jan 11 07:55 .b
-rw-r--r--  1 username  username     0 Jan 11 07:55 .C
-rw-r--r--  1 username  username     0 Jan 11 07:55 .c
-rw-r--r--  1 username  username     0 Jan 11 07:18 A
-rw-r--r--  1 username  username     0 Jan 11 07:18 a
-rw-r--r--  1 username  username     0 Jan 11 07:18 B
-rw-r--r--  1 username  username     0 Jan 11 07:18 b
-rw-r--r--  1 username  username     0 Jan 11 07:18 C
-rw-r--r--  1 username  username     0 Jan 11 07:18 c

我嘗試過的事情.bashrc

export LC_ALL="C"               #Did not work
export LC_COLLATE="en_US.UTF-8" #Did not work
export LC_LANG="C"              #Did not work
export LC_COLLATE="C"           #Did not work

那麼,我將如何製作自己的自定義字元順序/優先級?

謝謝

似乎該sort命令可以提供一些幫助。

-t, --field-separator=SEP

使用 SEP 而不是非空白到空白的過渡

-k, --key=POS1[,POS2]

在 POS1(原點 1)開始一個鍵,在 POS2 結束它(預設行尾)

ls -lAr|sort -t . -k2
-rw-r--r-- 1 CRM CCRM 0 Jan 20 09:35 a
-rw-r--r-- 1 CRM CCRM 0 Jan 20 09:35 b
-rw-r--r-- 1 CRM CCRM 0 Jan 20 09:36 c
-rw-r--r-- 1 CRM CCRM 0 Jan 20 09:36 d
-rw-r--r-- 1 CRM CCRM 0 Jan 20 09:38 A
-rw-r--r-- 1 CRM CCRM 0 Jan 20 10:34 .a
-rw-r--r-- 1 CRM CCRM 0 Jan 20 09:36 .A
-rw-r--r-- 1 CRM CCRM 0 Jan 20 09:38 .b
-rw-r--r-- 1 CRM CCRM 0 Jan 20 09:36 .B
-rw-r--r-- 1 CRM CCRM 0 Jan 20 09:36 .C
-rw-r--r-- 1 CRM CCRM 0 Jan 20 09:36 .D

引用自:https://unix.stackexchange.com/questions/336624