[Shell Bash] Afficher une partie d'une ligne

Fermé
Dadou - 9 sept. 2007 à 17:46
 Dadou - 11 sept. 2007 à 20:21
Bonjour à tous !

J'ai un petit problème avec la commande grep. Je m'explique : je suis en train de créer un petit script de traitement des fichiers mp3, et comme lors du changement de bitrate (c'est compliqué mais pas important pour mon problème ^^) les tags du fichier sont détruits, je les stocke auparavant avec mp3info dans un fichier dont je crée la syntaxe. La voici :


FILE=<fichier>.mp3
TITLE=<titre>
TRACK=<n° de piste>
ARTIST=<artiste>
ALBUM=<album>
YEAR=<année>
GENRE=<genre>
COMMENT=<commentaire>



Après avoir fait mes conversions de fichier, je stocke les informations du fichier de tags dans le morceau, grâce à mp3info. Par exemple, pour réécrire le tag du titre du morceau, j'utiliserai cette commande :


mp3info -t `grep -E '^TITLE=(.+)' $fichier.tag` $fichier


Le problème, c'est que je ne sais pas comment isoler seulement ce qui est après TITLE=. Faut-il que j'utilise une autre commande ?

Merci à tous ceux qui pourront me répondre ;)
A voir également:

4 réponses

lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 567
9 sept. 2007 à 18:37
Salut,
lami20j@deb:~/trash$ cat aaa
FILE=<fichier>.mp3
TITLE=<titre>
TRACK=<n° de piste>
ARTIST=<artiste>
ALBUM=<album>
YEAR=<année>
GENRE=<genre>
COMMENT=<commentaire>
lami20j@deb:~/trash$ sed -ne s/^TITLE=//p aaa
<titre>
0
Merci beaucoup, ta solution marche !
Mais si ce n'est pas trop demander, pourrait tu m'expliquer comment marche cette commande obscure ?

Merci ;)
0
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 895
10 sept. 2007 à 09:38
Salut,
sed
	La commande. Sed est un éditeur de flux orientée ligne

-n
	Cette option (en conjonction avec le flag "p") force l'affichage en sortie uniquement de la ligne matchée

e
	Option facultative. Permet en général d'enchainer plusieurs commandes sur la même ligne, chacune commençant par "-e"

s
	Comme substitution. Permet de substituer le motif mis en évidence dans 1ère  partie des "/.../" par la chaine de remplacement fournie dans la 2nd partie des 	"/..."

/^TITLE=//
	Ici on substitue donc le motif   "TITLE=" (^ indique le début) par rien "//" (il n'y  a rien entre les 2 slashs)

p
	Demande l'affichage si une substitution a été faite.
;-))
0
Merci beaucoup à vous deux ! ^^
0