forum.wfido.ru  

Вернуться   forum.wfido.ru > Прочие эхи > RU.LINUX.CHAINIK

Ответ
 
Опции темы Опции просмотра
  #1  
Старый 25.10.2020, 19:04
Alexander Polozov
Guest
 
Сообщений: n/a
По умолчанию чего то не сорображу как?

Alexander Polozov написал(а) к All в Oct 20 17:48:10 по местному времени:

Привет, All!

Есть простенький самописный скрипт по переименовыванию тыреных из тырнета мп3 по тегам:
=== Begin rentag2filename ===
#!/bin/bash
for fn1 in *mp3 ;
do
title=$( mpg123 --long-tag -t "$fn1" 2>&1 | grep -a Title | cut -d: -f2 | sed 's/^[ \t]*//' )
artist=$( mpg123 --long-tag -t "$fn1" 2>&1 | grep -a Artist | cut -d: -f2 | sed 's/^[ \t]*//' )
mv -i -T "$fn1" "$artist"\ -\ "$title".mp3
done
=== End rentag2filename ===
Хочется добавить добавить в конце год в скобках, как извлечь год из тегов понятно, как добавить тоже, а вот как сделать проверку, что-бы при отсутсвии оного тега вообще ничего не добавлялось как то не соображу и с наскоку не нагуглил, есть у кого какие идеи?

Со всеми пожеланиями, Alexander Polozov

... Надо же думать, что понимать.
--- GoldED+/LNX 1.1.5 (Linux 5.4.48-gentoo CPU UNKNOWN)
Ответить с цитированием
  #2  
Старый 25.10.2020, 19:18
Evgeny Chevtaev
Guest
 
Сообщений: n/a
По умолчанию чего то не сорображу как?

Evgeny Chevtaev написал(а) к Alexander Polozov в Oct 20 20:04:54 по местному времени:

Нi Alexander!

Sunday October 25 2020 17:48, Alexander Polozov wrote to All:

AP> Есть простенький самописный скрипт по переименовыванию тыреных из
AP> тырнета мп3 по тегам:
AP> === Begin rentag2filename ===
AP> #!/bin/bash
AP> for fn1 in *mp3 ;
AP> do
AP> title=$( mpg123 --long-tag -t "$fn1" 2>&1 | grep -a Title | cut -d:
AP> -f2 | sed 's/^[ \t]*//' ) artist=$( mpg123 --long-tag -t "$fn1" 2>&1 |
AP> grep -a Artist | cut -d: -f2 | sed 's/^[ \t]*//' ) mv -i -T "$fn1"
AP> "$artist"\ -\ "$title".mp3 done
AP> === End rentag2filename ===
AP> Хочется добавить добавить в конце год в скобках, как извлечь год из
AP> тегов понятно, как добавить тоже, а вот как сделать проверку, что-бы
AP> при отсутсвии оного тега вообще ничего не добавлялось как то не
AP> соображу и с наскоку не нагуглил, есть у кого какие идеи?

if [ $year != "" ]
then
year=" ($year)"
fi

mv -i -T "$fn1" "$artist - $title$year".mp3

With best regards,
Evgeny
--- GoldED+/BSD 1.1.5-b20180707
Ответить с цитированием
  #3  
Старый 27.10.2020, 10:18
Alexander Polozov
Guest
 
Сообщений: n/a
По умолчанию чего то не сорображу как?

Alexander Polozov написал(а) к Evgeny Chevtaev в Oct 20 20:54:04 по местному времени:

Привет, Evgeny!


Ответ на сообщение Evgeny Chevtaev (2:5010/275) к Alexander Polozov, написанное 25 окт 20 в 20:04:


EC> if [ $year != "" ]
EC> then
EC> year=" ($year)"
EC> fi
Сработало, сенксь, единственное при пустом значении года баш ругался на строку с !=, но помогло изменение условия на if [ -n "$year" ]
Теперь скриптик выглядит так (вдруг кому пригодится):
=== Begin Fake Clipboard ===
#!/bin/bash
for fn1 in *mp3 ;
do
title=$( mpg123 --long-tag -t "$fn1" 2>&1 | grep -a Title | cut -d: -f2 | sed 's/^[ \t]*//' )
artist=$( mpg123 --long-tag -t "$fn1" 2>&1 | grep -a Artist | cut -d: -f2 | sed 's/^[ \t]*//' )
year=$( mpg123 --long-tag -t "$fn1" 2>&1 | grep -a Year | cut -d: -f2 | sed 's/^[ \t]*//' )
if [ -n "$year" ]
then
year=" ($year)"
fi

mv -i -T "$fn1" "$artist"\ -\ "$title$year".mp3
=== End Fake Clipboard ===

Со всеми пожеланиями, Alexander Polozov

... Весь мир сейчас идет наоборот.
--- GoldED+/LNX 1.1.5 (Linux 5.4.72-gentoo CPU UNKNOWN)
Ответить с цитированием
  #4  
Старый 17.07.2021, 19:43
Sergey Zabolotny
Guest
 
Сообщений: n/a
По умолчанию чего то не сорображу как?

Sergey Zabolotny написал(а) к Alexander Polozov в Jul 21 18:26:02 по местному времени:

Нello Alexander.

Monday 26 October 2020 20:54, Alexander Polozov wrote to Evgeny Chevtaev:

EC>> if [ $year != "" ]
EC>> then
EC>> year=" ($year)"
EC>> fi
AP> Сработало, сенксь, единственное при пустом значении года баш ругался
AP> на строку с !=, но помогло изменение условия на if [ -n "$year"
ругался потому, что надо было писать if [ "$year" != "" ]
а вообще:
~$ year="2021"; echo "prefix-${year:+($year)-}postfix"
prefix-(2021)-postfix
~$ year=""; echo "prefix-${year:+($year)-}postfix"
prefix-postfix
~$
и никакие ифы не нужны.

зыЖ ничего страшного, что почти год прошел? :-)

--- GoldED+ 1.1.5-031023 (WinNT 5.1.2600-ServicePack3 i1586)
Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 14:34. Часовой пояс GMT +4.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc. Перевод: zCarot