Я предполагаю, что имена Ваших файлов имеют форму XXXXNNN.txt
, где XXXX
- некоторый произвольный текст, не заканчивающийся цифрой, а NNN
- последовательность цифр, и что Вы хотите сгруппировать их по группам одинаковых ХХХ.
Стратегия: перебирайте файлы в лексикографическом порядке и определяйте, когда XXXX часть изменяется. Для каждой группы сгенерируйте новые имена. Небольшая сложность заключается в том, что если NNN части имеют переменную ширину, то они не сортируются лексикографически: NNN=10 появится между NNN=1 и NNN=2.
current=
numbers=
i=0
for x in *.txt ''; do
stem=${x%.*}
n=${stem##*[!0-9]}
stem=${stem%$n}
if [ "$stem" != "$current" ]; then
for k in $(printf '%s\n' $numbers | sort -n); do
y=${i}_${k}.txt
echo mv "$current$k.txt" "$y"
done
current=$stem
numbers=$n
i=$((i+1))
else
numbers="$numbers $n"
fi
done
Замените echo mv
командой, которую вы хотите использовать, например, mv
для переименования файлов или echo ...
для записи информации в файл.
Вместо того, чтобы переименовывать файлы и отслеживать старые имена, рассмотрите возможность использования символических ссылок для того, чтобы файлы были доступны как в виде их оригинальных имен, так и с упрощенными именами.
Я думаю, что это ошибка в Fedora 21 как сервера, так и на рабочей станции Bugzilla . Вы можете попробовать предложить обходной путь. Создайте первую виртуальную машину с помощью простого жесткого диска. После этого подключите Fedora-Server-DVD-X86_64-21.ISO и попробуйте установить его.
К вашему сведению, я заставил его работать , а не , выбрав «Простую установку» или отключив второй привод CD-ROM, содержащий autorun.iso (или как там он называется), оставив только компакт-диск. ПЗУ, имеющее ISO. Установщик запускается сразу.
Та же проблема при создании новой виртуальной машины Centos 8 с помощью VmWare.
У меня это работает нормально.
Если вы ищете решение для исправления ошибки «Раздел %packages не заканчивается на %end. Pane is dead» при установке CentOS 8 / RHEL 8 на рабочую станцию VMware, то эта статья для вас.
Решение этой проблемы очень простое.
Сразу после проверки содержимого файла autoinst.iso я решил удалить дополнительный привод CD/DVD из аппаратных настроек, и это сработало без каких-либо проблем.
Пожалуйста, проверьте то же самое на снимке экрана ниже.
На первый взгляд это похоже на ошибку CentOS 8, но после изучения я обнаружил, что некоторые люди также сталкивались с той же проблемой, и их попросили связаться с их поставщиками виртуального программного обеспечения.
Итак, я задумался и решил проверить настройки моей виртуальной машины на VMware Workstation, и неожиданно обнаружил, что привод CD/DVD добавлен в настройки оборудования моей виртуальной машины, которые используют образ autoinst.iso.
Не знаю, почему VMware Workstation добавила этот дополнительный диск без запроса или уведомления. Я попытался проанализировать содержимое файла autoinst.iso, который находился в том же месте, что и мои файлы виртуальной машины CentOS 8, в соответствии с ошибкой «В строке 31 файла кикстарта произошла следующая ошибка :Раздел %packages не заканчивается с %концом. Пейн мертв»
.#langsupport --default en_US
network --bootproto dhcp
cdrom
keyboard us
zerombr yes
clearpart --all --initlabel
part /boot --size 300
part swap --recommended
part / --size 3000 --grow
#part biosboot --fstype=biosboot --size=1
install
#mouse generic3ps/2
firstboot --disable
firewall --enabled
timezone --utc America/Los_Angeles
xconfig --startxonboot --resolution=800x600
rootpw --iscrypted $1$uzIbrDro$RhfwbnmqkvsVwwORfm9Vo1
reboot
auth --useshadow --enablemd5
bootloader --location=mbr
#key --skip
%packages
python
@ X Window System
@ GNOME Desktop Environment
@ Graphical Internet
@ Development Tools
#%end
%post
if [ -f /boot/grub/menu.lst -a ! -h /boot/grub/menu.lst ]; then cp /boot/grub/menu.lst /boot/grub/menu.lst.bak && sed -i 's/ rhgb//' /boot/grub/menu.lst; fi
if [ -f /boot/grub/grub.conf -a ! -h /boot/grub/grub.conf ]; then cp /boot/grub/grub.conf /boot/grub/grub.conf.bak && sed -i 's/ rhgb//' /boot/grub/grub.conf; fi
if [ -f /boot/grub2/grub.conf -a ! -h /boot/grub2/grub.conf ]; then cp /boot/grub2/grub.conf /boot/grub2/grub.conf.bak && sed -i 's/ rhgb//' /boot/grub2/grub.conf; fi
if [ -f /etc/rc.d/rc.local ]; then cp /etc/rc.d/rc.local /etc/rc.d/rc.local.backup; fi
cat >>/etc/rc.d/rc.local <<EOF
#!/bin/bash
echo
echo "Installing VMware Tools, please wait..."
if [ -x /usr/sbin/getenforce ]; then oldenforce=\$(/usr/sbin/getenforce); /usr/sbin/setenforce permissive || true; fi
mkdir -p /tmp/vmware-toolsmnt0
for i in hda sr0 scd0; do mount -t iso9660 /dev/\$i /tmp/vmware-toolsmnt0 && break; done
cp -a /tmp/vmware-toolsmnt0 /opt/vmware-tools-installer
chmod 755 /opt/vmware-tools-installer
cd /opt/vmware-tools-installer
mv upgra32 vmware-tools-upgrader-32
mv upgra64 vmware-tools-upgrader-64
mv upgrade.sh run_upgrader.sh
chmod +x /opt/vmware-tools-installer/*upgr*
umount /tmp/vmware-toolsmnt0
rmdir /tmp/vmware-toolsmnt0
if [ -x /usr/bin/rhgb-client ]; then /usr/bin/rhgb-client --quit; fi
cd /opt/vmware-tools-installer
for s in sr0 sr1; do eject -s /dev/\$s; done
./run_upgrader.sh
if [ -f /etc/rc.d/rc.local.backup ]; then mv /etc/rc.d/rc.local.backup /etc/rc.d/rc.local; else rm -f /etc/rc.d/rc.local; fi
rm -rf /opt/vmware-tools-installer
sed -i 's/3:initdefault/5:initdefault/' /etc/inittab
if [ -f /boot/grub/menu.lst.bak ]; then mv /boot/grub/menu.lst.bak /boot/grub/menu.lst; fi
if [ -f /boot/grub/grub.conf.bak ]; then mv /boot/grub/grub.conf.bak /boot/grub/grub.conf; fi
if [ -f /boot/grub2/grub.conf.bak ]; then mv /boot/grub2/grub.conf.bak /boot/grub2/grub.conf; fi
if [ -x /usr/sbin/getenforce ]; then /usr/sbin/setenforce \$oldenforce || true; fi
if [ -x /bin/systemd ]; then systemctl restart prefdm.service; else telinit 5; fi
EOF
chmod 755 /etc/rc.d/rc.local
if [ -x /bin/systemd ]; then systemctl enable rc-local.service; fi
/usr/sbin/adduser pawan
/usr/sbin/usermod -p '$1$uzIbrDro$RhfwbnmqkvsVwwORfm9Vo1' pawan
/usr/bin/chfn -f "Pawan" pawan
/bin/echo done
#%end```
Вот также ряд шагов, которые я предпринял для решения проблемы..
Здесь ошибка.. решение..
Вы должны удалить один из дисков.. "autoinst.iso"
После этого вы сможете собрать виртуальную машину
Ребята, сначала выключите свою машину, а затем перейдите к настройке vm -в VMware. вы заметили, что у вас есть два компакт-диска / DVD в списке. Первый компакт-диск / DVD имеет образ autorun.iso, а второй компакт-диск / DVD имеет реальный образ. выберите первый CD/DVD и извлеките его, перезагрузите компьютер, проблема решена