Есть ли способ предоставить настраиваемые правила сортировки для команды "ls"?
Я работаю в области материаловедения, поэтому многие из моих каталогов названы химическим элементом или уравнением. В качестве таких, ls
а также ls -v
перечислите мои каталоги из химического заказа. Я знаю, что могу переименовать мои каталоги, чтобы они начинались с атомного номера элемента, но я не хочу этого делать. Мне было интересно, есть ли простой способ, которым я мог бы предоставить индивидуальные правила для ls
такой, что он будет перечислять каталоги в соответствии с атомным номером элемента, а не в алфавитном или числовом порядке. Если бы была альтернатива ls
это тоже было бы приемлемо.
1 ответ
Сделайте несколько тестовых каталогов:
cd /tmp
for atom in H He Li Be B C N O F Ne Na;do mkdir $atom-directory;done
Атомный номер для каждого символа:
export ATOMS="H 1 He 2 Li 3 Be 4 B 5 C 6 N 7 O 8 F 9 Ne 10 Na 11" #and so on...
Сделайте функцию bash, убедитесь, что все в одной строке:
atomls () { for f in $(perl -le'%m=split" ",$ENV{ATOMS};$re=join"|",keys%m;print for map$$_[0],sort{$m{$$a[1]}<=>$m{$$b[1]}}map[$_,/($re)\b/],@ARGV' $*);do ls -ld $f; done }
Запустить его:
atomls *
Результат:
drwxrwxr-x 2 idiot idiot 4096 okt. 22 19:56 H-directory
drwxrwxr-x 2 idiot idiot 4096 okt. 22 19:56 He-directory
drwxrwxr-x 2 idiot idiot 4096 okt. 22 19:56 Li-directory
drwxrwxr-x 2 idiot idiot 4096 okt. 22 19:56 Be-directory
drwxrwxr-x 2 idiot idiot 4096 okt. 22 19:56 B-directory
drwxrwxr-x 2 idiot idiot 4096 okt. 22 19:56 C-directory
drwxrwxr-x 2 idiot idiot 4096 okt. 22 19:56 N-directory
drwxrwxr-x 2 idiot idiot 4096 okt. 22 19:56 O-directory
drwxrwxr-x 2 idiot idiot 4096 okt. 22 19:56 F-directory
drwxrwxr-x 2 idiot idiot 4096 okt. 22 19:56 Ne-directory
drwxrwxr-x 2 idiot idiot 4096 okt. 22 19:56 Na-directory
Укажите только два буквенных атома:
atomls ??-dir*
drwxrwxr-x 2 idiot idiot 4096 okt. 22 19:56 He-directory
drwxrwxr-x 2 idiot idiot 4096 okt. 22 19:56 Li-directory
drwxrwxr-x 2 idiot idiot 4096 okt. 22 19:56 Be-directory
drwxrwxr-x 2 idiot idiot 4096 okt. 22 19:56 Ne-directory
drwxrwxr-x 2 idiot idiot 4096 okt. 22 19:56 Na-directory
Там могут быть лучшие способы...