Вы можете выполнить пузырьковую сортировку по полю 3 таким образом:
#!/bin/bash
while IFS=, read -r col1 col2 col3
do
arr+=("$col1, $col2, $col3")
done < tel.txt
echo "Array in original order: "
for i in "${arr[@]}"
do
echo "$i "field3=`echo $i | cut -d ',' -f 3`
done
lines=`cat tel.txt | wc -l`
#Performing Bubble sort
for ((i = 0; i<$lines; i++))
do
for ((j = i; j<$lines-i-1; j++))
do
if (( `echo ${arr[j]} | cut -d ',' -f 3` > `echo ${arr[$((j+1))]} | cut -d ',' -f 3` ))
then
#swap
temp=${arr[$j]}
arr[$j]=${arr[$((j+1))]}
arr[$((j+1))]=$temp
fi
done
done
echo "Array in sorted order: "
for i in "${arr[@]}"
do
echo "$i "
done
Мой tel.txt
содержит следующие строки:
yurijs-MacBook-Pro:bash yurij$ cat tel.txt
Some text1, 45, 23
Some test2, 12, 3
Some text3, 33, 99
Some test4, 56, 22
Some text5, 22, 65
Выполнитьbuuble_sort.sh
:
yurijs-MacBook-Pro:bash yurij$./buuble_sort.sh
Array in original order:
Some text1, 45, 23 field3= 23
Some test2, 12, 3 field3= 3
Some text3, 33, 99 field3= 99
Some test4, 56, 22 field3= 22
Some text5, 22, 65 field3= 65
Array in sorted order:
Some test2, 12, 3
Some test4, 56, 22
Some text1, 45, 23
Some text5, 22, 65
Some text3, 33, 99
Потому что этот код не оптимизирован и содержит повторы. Вы можете улучшить его.
Сбросил 32-битную CentOS 7 и установил 32-битную Ubuntu 16.04 LTS, которая кажется последней 32-битной Ubuntu LTS.
В 32-разрядной версии Ubuntu 16.04 LTS при установке Rust или сборке/запуске приложений Rust паники ядра не наблюдается.
На этой 32-битной машине ранее были установлены Ubuntu 12.04 LTS и 14.04 LTS, и работа прошла гладко. Итак, 16.04 LTS выглядит разумным выбором.
Единственная проблема заключается в том, что Ubuntu 16.04 LTS прекратит работу -из -в апреле 2021 года. Так что больше никаких обновлений! Чтобы обойти это, другим решением может быть установка 32-битного Debian на машину. Раньше на машине не было Debian, так что может случиться что угодно:(
В конце концов, я установил openSUSE Tumbleweed 32 -бит, который регулярно обновляется, так как является скользящим выпуском. Отлично работает =)
Если у вас установлена последняя версия ядра (, то есть yum update 'kernel*'
), отправьте отчет об ошибке здесь:
https://bugzilla.redhat.com/enter_bug.cgi?product=Red%20Hat%20Enterprise%20Linux%207
Маловероятно, что RedHat будет выделять какие-либо ресурсы для решения проблемы, если только она не затрагивает нескольких клиентов или у вас самих нет платной подписки на RHEL 7.
Подобные ошибки ядра могут возникать даже из-за того, что случайные заряженные частицы из космоса попадают в ваши модули памяти и переворачивают биты памяти, поэтому, если вы не сможете последовательно воспроизвести это, я бы даже не стал беспокоиться.