This is output of the grep -E "scsi0:" *.vmx | grep -E "fileName" command in one of my directory:
scsi0:0.fileName = "vmname.vmdk"
scsi0:1.fileName = "vmname_1.vmdk"
scsi0:2.fileName = "vmname_2.vmdk"
scsi0:3.fileName = "P120_vmname_2.vmdk"
scsi0:4.fileName = "P120_vmname_3.vmdk"
I need to rewrite above output inside that vmx file so it looks like following
scsi0:0.fileName = "vmname.vmdk"
scsi0:1.fileName = "vmname_1.vmdk"
scsi0:2.fileName = "vmname_2.vmdk"
scsi0:3.fileName = "vmname_3.vmdk"
scsi0:4.fileName = "vmname_4.vmdk"
So in essence the script needs to the following:
- look for the line which contains scsi0 and filename and remove everything after double quote before vmname
- check what is the number in that line after "scsi0:" and add/replace that number after the underscore, so P120_vmname_2 becomes vmname_3
The thing is that there can by any number of characters before vmname which need to be removed and lines which need to be fixed can be anywhere in the source file.
Do I need to assign individual line output to separate variable or it is possible to manipulate them with just one?
Thanks