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

  • FreePBX 17 How To Add a Trunk
  • Docker Container Onboot Policy - How to make sure a container is always running
  • FreePBX 17 How To Add Phones / Extensions and Register
  • Warning: The driver descriptor says the physical block size is 2048 bytes, but Linux says it is 512 bytes. solution
  • Cisco How To Use a Third Party SIP Phone (eg. Avaya, 3CX)
  • Cisco Unified Communication Manager (CUCM) - How To Add Phones
  • pptp / pptpd not working in DD-WRT iptables / router
  • systemd-journald high memory usage solution
  • How to Install FreePBX 17 in Linux Debian Ubuntu Mint Guide
  • How To Install Cisco's CUCM (Cisco Unified Communication Manager) 12 Guide
  • Linux Ubuntu Redhat How To Extract Images from PDF
  • Linux and Windows Dual Boot Issue NIC Won't work After Booting Windows
  • Cisco CME How To Enable ACD hunt groups
  • How to install gns3 on Linux Ubuntu Mint
  • How to convert audio for Asterisk .wav format
  • Using Cisco CME Router with Asterisk as a dial-peer
  • Cisco CME How To Configure SIP Trunk VOIP
  • Virtualbox host Only Network Error Failed to save host network interface parameter - Cannot change gateway IP of host only network
  • Cisco CME and C7200 Router Testing and Learning Environment on Ubuntu 20+ Setup Tutorial Guide
  • Abusive IP ranges blacklist