bash string substitution

so in this case we have files named like this: 

track01.cdda.wav.mp3  track06.cdda.wav.mp3  track11.cdda.wav.mp3
track02.cdda.wav.mp3  track07.cdda.wav.mp3  track12.cdda.wav.mp3
track03.cdda.wav.mp3  track08.cdda.wav.mp3  track13.cdda.wav.mp3
track04.cdda.wav.mp3  track09.cdda.wav.mp3
track05.cdda.wav.mp3  track10.cdda.wav.mp3

but we want to rename them so they are like "05.mp3"

#the first "track" is actually a variable name but does not need $ because it is already referenced by the ${track
for track in `ls *.mp3`; do name=${track/track/}; name=${name/.cdda.wav/}; mv $track $name; done

The main part of the code above is the following:

name=${track/track/}

name=${name/.cdda.wav/}

${track is the name of the variable that has the string you want to substitute

/track/ means search for the string "track" in that variable and replace with nothing.

If we had wanted to change it to something else:

name=${track/track/somethingelse}
 


Tags:

bash, substitutionso, cdda, wav, mp, rename, quot, variable, referenced, ls, mv, substitute, somethingelse,

Latest Articles

  • Linux Mint Mate Customize the Lock screen messages and hide username and real name
  • Ubuntu/Gnome/Mint/Centos How To Take a partial screenshot
  • ssh how to verify your host key / avoid MIM attacks
  • Cisco IP Phone CP-8845 8800/8900 Series How To Reset To Factory Settings Instructions
  • ls how to list ONLY directories
  • How to encrypt your SSH private key file id_rsa
  • Linux Mint 18 Disable User Name List from showing on Login Screen
  • Firefox Cannot Hit Enter Key In Address Bar and Location History Not Working
  • Cisco Unified Communications Manager / CUCM IP 8.6,10,12 Install Error Solution
  • Ubuntu Debian Mint Linux SSHD OpenSSH Server Not Starting After Reboot Solution
  • nmap how to scan for all ports and not just the 1000 most common ports
  • Windows 7,8,10 and Server 2008, 2012, 2016, 2019 Read Only Attribute Won't Go Away
  • bind / named how to make a wildcard record and retain defined A records
  • Cisco Unified Communications Manager 12 Install Errors on Proxmox/KVM
  • Local Vs Universally Administered MAC Address NIC Refuses to come up
  • Cisco Unified Communications Manager 12 CUCM 12 - How To Enable Video Calling
  • Windows 7, 8, 10, Windows Server 2008, 2012, 2016, 2019 How To AC97 Audio Drivers and Other Unsigned Drivers
  • Cisco Unified Communications Manager / CUCM IP Telephony Definitions
  • tftp Linux xinetd verbose logging
  • Linux delete unused tap devices automatically