Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

чего то не сорображу как?

1 view
Skip to first unread message

Alexander Polozov

unread,
Oct 25, 2020, 10:51:25 AM10/25/20
to
Привет, 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

... Надо же думать, что понимать.

Evgeny Chevtaev

unread,
Oct 25, 2020, 11:16:25 AM10/25/20
to
Hi 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

Alexander Polozov

unread,
Oct 27, 2020, 2:06:26 AM10/27/20
to
Привет, 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

... Весь мир сейчас идет наоборот.

Sergey Zabolotny

unread,
Jul 17, 2021, 1:01:02 PM7/17/21
to
Hello *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
~$
и никакие ифы не нужны.

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

0 new messages