-3

I want to update files values used for database connection in this file:

./software/config/database.yml

file content:

base: &base
  adapter: mysql2
  username: root
  password:

How I can set username and password using bash?

Peter Penzov
  • 2,352
  • 100
  • 358
  • 675

1 Answers1

2
awk -F: -v OFS=: '/username/{$2=" NEWUSER"} /password:/{$2=" NEWPASS"}1' inputfile
base: &base
  adapter: mysql2
  username: NEWUSER
  password: NEWPASS

If new username and password are stored in a variable :

awk -F: -v OFS=: -v newPass=" NEWPASS" -v newUser=" NEWUSER" '/username/{$2=newUser} /password:/{$2=newPass}1' input

For editing file:

 awk -F: -v OFS=: -v newPass=" NEWPASS" -v newUser=" NEWUSER" '/username/{$2=newUser} /password:/{$2=newPass}1' inputfile > user.tmp && mv user.tmp inputfile
P....
  • 14,772
  • 2
  • 24
  • 42