Skip to Content
Shell Scripting: Expert Recipes for Linux, Bash, and More
book

Shell Scripting: Expert Recipes for Linux, Bash, and More

by Steve Parker
August 2011
Beginner to intermediate
600 pages
14h 29m
English
Wrox
Content preview from Shell Scripting: Expert Recipes for Linux, Bash, and More

Advanced Techniques

In the “all at once from a source” section earlier in this chapter, a set of MP3 files was listed with a clear pattern, which while almost useful for sorting, is not quite ideal. Those hyphens delimiting the artist and the track number would make an all-but-perfect way to automatically tag the MP3 files, but a cut or awk command to strip them would be a bit awkward. The colon is a better way to separate fields than space-dash-space. No character is perfect because a colon could appear in a song title or artist name, but this short script reduces the more complicated list of filenames down to the basics.

The for statement itself strips the trailing .mp3 from the filename, in the same way shown in Chapter 7, although this time it is working on the entire array. After that, when echo accesses the ${mp3} variable it also replaces the dash (-) with a colon at the same time. This does not necessarily mean that the code runs any faster than doing these tasks separately, but it is certainly a clear and simple way to write code. What is often most important is that the code is easy to understand.

for mp3 in "${mp3s[@]/%.mp3}"do
>   echo ${mp3// - /:}done 01:The MC5:Kick Out The Jams 02:Velvet Underground:I'm Waiting For The Man 03:The Stooges:No Fun 04:The Doors:L.A. Woman 05:The New York Dolls:Jet Boy 06:Patti Smith:Gloria 07:The Damned:Neat Neat Neat 08:X-Ray Spex:Oh Bondage Up Yours! 09:Richard Hell & The Voidoids:Blank Generation 10:Dead Boys:Sonic Reducer ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

Linux Command Line and Shell Scripting Techniques

Linux Command Line and Shell Scripting Techniques

Vedran Dakic, Jasmin Redzepagic
Linux Shell Scripting Cookbook - Third Edition

Linux Shell Scripting Cookbook - Third Edition

Clif Flynt, Sarath Lakshman, Shantanu Tushar

Publisher Resources

ISBN: 9781118166321Purchase bookDownloads