Как я отсортировал бы эти имена каталогов численно?

joe@joebox:~$ whatis linux
6
27.10.2011, 08:31
2 ответа

"Вид версии", кажется, хорошо работает с этим.

for i in /sys/devices/system/cpu/cpu*/cpufreq/scaling_cur_freq; 
   do echo -n "$i: "; cat $i; done | sort -V
8
27.01.2020, 20:24
  • 1
    Это работало над моим полем –  rahmu 27.10.2011, 12:33
  • 2
    Debian Просто приложение... вид на моем сервере Ubuntu 8.04 не имеет той опции... это находится там на моих полях RHEL6 все же. –  twblamer 27.10.2011, 12:48

Это должно работать с большинством реализаций вида:

 ... | sort -t/ -k6.4n

Попытка подать пример (не может найти cpufreq в системах, к которым у меня есть доступ...):

входной файл

/sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq: 2395000
/sys/devices/system/cpu/cpu10/cpufreq/scaling_cur_freq: 1064000
/sys/devices/system/cpu/cpu11/cpufreq/scaling_cur_freq: 1064000
/sys/devices/system/cpu/cpu12/cpufreq/scaling_cur_freq: 1064000
/sys/devices/system/cpu/cpu13/cpufreq/scaling_cur_freq: 1064000
/sys/devices/system/cpu/cpu14/cpufreq/scaling_cur_freq: 1064000
/sys/devices/system/cpu/cpu15/cpufreq/scaling_cur_freq: 1064000
/sys/devices/system/cpu/cpu16/cpufreq/scaling_cur_freq: 1064000
/sys/devices/system/cpu/cpu17/cpufreq/scaling_cur_freq: 1064000
/sys/devices/system/cpu/cpu18/cpufreq/scaling_cur_freq: 1064000
/sys/devices/system/cpu/cpu19/cpufreq/scaling_cur_freq: 1064000
/sys/devices/system/cpu/cpu1/cpufreq/scaling_cur_freq: 1064000
/sys/devices/system/cpu/cpu20/cpufreq/scaling_cur_freq: 1064000 

вывод:

zsh-4.3.12[t]% sort -t/ -k6.4n infile
/sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq: 2395000
/sys/devices/system/cpu/cpu1/cpufreq/scaling_cur_freq: 1064000
/sys/devices/system/cpu/cpu10/cpufreq/scaling_cur_freq: 1064000
/sys/devices/system/cpu/cpu11/cpufreq/scaling_cur_freq: 1064000
/sys/devices/system/cpu/cpu12/cpufreq/scaling_cur_freq: 1064000
/sys/devices/system/cpu/cpu13/cpufreq/scaling_cur_freq: 1064000
/sys/devices/system/cpu/cpu14/cpufreq/scaling_cur_freq: 1064000
/sys/devices/system/cpu/cpu15/cpufreq/scaling_cur_freq: 1064000
/sys/devices/system/cpu/cpu16/cpufreq/scaling_cur_freq: 1064000
/sys/devices/system/cpu/cpu17/cpufreq/scaling_cur_freq: 1064000
/sys/devices/system/cpu/cpu18/cpufreq/scaling_cur_freq: 1064000
/sys/devices/system/cpu/cpu19/cpufreq/scaling_cur_freq: 1064000
/sys/devices/system/cpu/cpu20/cpufreq/scaling_cur_freq: 1064000
2
27.01.2020, 20:24
  • 1
    Это не работает с моим примером или на RHEL 6.1 или на Ubuntu 8.04. –  twblamer 27.10.2011, 23:45
  • 2
    Привет @twblamer, я только что добавил пример в своем сообщении. Вы могли отправить вывод, который Вы получаете? ложный аварийный сигнал –  Dimitre Radoulov 27.10.2011, 23:51
  • 3
    ... Я использовал различные входные данные, чем, что я первоначально отправил. Это работает теперь... извините. –  twblamer 27.10.2011, 23:54

Теги

Похожие вопросы