#1
|
|||
|
|||
чего то не сорображу как?
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
|
|||
|
|||
чего то не сорображу как?
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
|
|||
|
|||
чего то не сорображу как?
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
|
|||
|
|||
чего то не сорображу как?
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) |