Форум русскоязычного сообщества Ubuntu


Получить помощь и пообщаться с другими пользователями Ubuntu можно
на irc канале #ubuntu-ru в сети Freenode
и в Jabber конференции ubuntu@conference.jabber.ru

Автор Тема: Как найти ссылки в переименованных текстовых фалах  (Прочитано 1178 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн ase66

  • Автор темы
  • Участник
  • *
  • Сообщений: 156
    • Просмотр профиля
Я вижу, что в некоторых современных темах иконок наметился переход с символических ссылок на переименованные текстовые фалы. В текстовые фалы прописано имя картинки на которую он как бы ссылается. Текстовые фалы могут быть названы как .svg .png и т.д.
 
Пример:

имя текстового фала stock_close-tab.png

в нём такая запись go-next.png


Не знаю зачем это делается. На объём сжатия это вроде не влияет, а вот картинки с такими переименованиями просмотреть невозможно. Хотя система вроде бы их читает.

Вопрос:

Есть ли возможность написать скрипт, который пробежался бы по таким текстовым фалам, и вывел собранную инфу в такой вид:

ln -s go-next.png stock_close-tab.png

По одной записи в новой строке?

Т.е. содержимое переименованного текстового фала записал перед его именем. И желательно сразу подставить ln -s

У меня есть сотни таких текстовых файлов. Хочется как-то автоматизировать этот процесс.

P.s. Или может ещё на будущие, как бы инвертировать работу скрипта. Т.е. пробежаться по ссылкам, и создать текстовый фал с именем ссылки и именем цели в нём. На случай если примут новый стандарт на эту тему. Но это только если кому интересно. Мне очень нужен ответ на первый вопрос.

Оффлайн ALiEN

  • Администратор
  • Старожил
  • *
  • Сообщений: 6738
  • 20% Cooler
    • Просмотр профиля
переход с символических ссылок на переименованные текстовые фалы.
Первый раз слышу. Может, у вас при распаковке символьные ссылки "побились"?
+ ФС FAT и NTFS не умеют символьные ссылки в linux. Если переносили темы иконок на такой раздел, то описанная ситуация вполне логична.
🖥 AsRock B550M Pro4 :: AMD Ryzen 5 3600 :: 16 GB DDR4 :: AMD Radeon RX 6600 :: XFCE
💻 ACER 5750G :: Intel Core i5-2450M :: 6 GB DDR3 :: GeForce GT 630M :: XFCE

Оффлайн БТР

  • Заслуженный пользователь
  • СуперМодератор
  • Старожил
  • *
  • Сообщений: 6165
    • Просмотр профиля
в некоторых современных темах иконок наметился переход с символических ссылок на переименованные текстовые фалы.
Дайте пример такой темы.

Оффлайн ase66

  • Автор темы
  • Участник
  • *
  • Сообщений: 156
    • Просмотр профиля
тема Bluecurve/24x24/stock/ из 353 иконок 276 текстовые файлы переименованные в .png
Пример:

gtk-justify-center.png
и его содержимое если перетащить gtk-justify-center.png в текстовый редактор
../../24x24/stock/format-justify-center.png

gnome-stock-run.png
и его содержимое
../../24x24/actions/exec.png

и т.д.

репозитории Fedora 36 или Rosa 2021.1 FRESH-12, на выбор.
« Последнее редактирование: 30 Июня 2022, 18:40:54 от ALiEN175 »

Оффлайн БТР

  • Заслуженный пользователь
  • СуперМодератор
  • Старожил
  • *
  • Сообщений: 6165
    • Просмотр профиля
репозитории Fedora 36 или Rosa 2021.1 FRESH-12, на выбор.
Вы ставите эти темы на Ubuntu?
Можете дать прямую ссылку на архив с темой?

Оффлайн ALiEN

  • Администратор
  • Старожил
  • *
  • Сообщений: 6738
  • 20% Cooler
    • Просмотр профиля
ase66, Что-то не то вы делаете.

Скачал пакет с иконками, распаковал.
ls -lR usr | grep gtk-justify-center.png
lrwxrwxrwx 1 alien alien  43 янв 20 01:33 gtk-justify-center.png -> ../../16x16/stock/format-justify-center.png
lrwxrwxrwx 1 alien alien   43 янв 20 01:33 gtk-justify-center.png -> ../../20x20/stock/format-justify-center.png
lrwxrwxrwx 1 alien alien   43 янв 20 01:33 gtk-justify-center.png -> ../../24x24/stock/format-justify-center.png
lrwxrwxrwx 1 alien alien   43 янв 20 01:33 gtk-justify-center.png -> ../../32x32/stock/format-justify-center.png
lrwxrwxrwx 1 alien alien   43 янв 20 01:33 gtk-justify-center.png -> ../../48x48/stock/format-justify-center.png
lrwxrwxrwx 1 alien alien   43 янв 20 01:33 gtk-justify-center.png -> ../../64x64/stock/format-justify-center.png
Как видно, это самые настоящие симлинки. Почему у вас они вдруг текстовыми стали?
🖥 AsRock B550M Pro4 :: AMD Ryzen 5 3600 :: 16 GB DDR4 :: AMD Radeon RX 6600 :: XFCE
💻 ACER 5750G :: Intel Core i5-2450M :: 6 GB DDR3 :: GeForce GT 630M :: XFCE

Оффлайн ase66

  • Автор темы
  • Участник
  • *
  • Сообщений: 156
    • Просмотр профиля
Похоже на глюк распаковки, вот чем распаковал .rpm
for i in *.rpm; do 7z x -aos $i; done
find ./ -type f -name '*.rpm' -print0 | xargs -0 rm
rename 's/.cpio.lzma/.zst/g' *.cpio.lzma
for i in *.zst; do zstd -d $i; done
find ./ -type f -name '*.zst' -print0 | xargs -0 rm
for i in *; do 7z x -aos $i; done

Глюк возникает на этапе распаковки cpio командой 7z x
Если распаковать архив cpio из Caja, то ссылки в порядке!

Как корректно распаковать cpio последних версий в терминале?
« Последнее редактирование: 30 Июня 2022, 21:18:00 от ase66 »

Оффлайн ALiEN

  • Администратор
  • Старожил
  • *
  • Сообщений: 6738
  • 20% Cooler
    • Просмотр профиля
вот чем распаковал .rpm
Да уж. Сами придумали?

apt install rpm2cpio libarchive-tools
rpm2cpio *.rpm | bsdtar -xvf -
🖥 AsRock B550M Pro4 :: AMD Ryzen 5 3600 :: 16 GB DDR4 :: AMD Radeon RX 6600 :: XFCE
💻 ACER 5750G :: Intel Core i5-2450M :: 6 GB DDR3 :: GeForce GT 630M :: XFCE

Оффлайн ase66

  • Автор темы
  • Участник
  • *
  • Сообщений: 156
    • Просмотр профиля
bsdtar рапортует - Unrecognized archive format

и bsdcpio тоже самое

работает без глюков это:

for i in *.rpm; do 7z x -aos $i; done
find ./ -type f -name '*.rpm' -print0 | xargs -0 rm
rename 's/.cpio.lzma/.zst/g' *.cpio.lzma
for i in *.zst; do zstd -d $i; done
find ./ -type f -name '*.zst' -print0 | xargs -0 rm
for i in *; do dtrx -f -n $i; done

но ровно в полтора раз медленнее чем 7z. Этот набор команд только для старых сборок!

Всё что новее Ubuntu 16.04 без проблем распакует все .rpm в папке вот этим:
dtrx -f -n *.rpm
Извините за беспокойство, всем спасибо за участие.

 

Страница сгенерирована за 0.034 секунд. Запросов: 22.