How to increment version inside a file?

Hi All,

I need to write a shell script which opens a file and increments the version(text) within the file every time the script runs. For example:

[user@server]$ cat docker_file.yml

version: '3.1'
services:
  ui:
    image: repo-srv.dev.io:5000/facebook/ui:0.0.2-QA1

[user@server]$ 

So, I would like to update version: 3.1 to version: 3.2 and ui:0.0.2-QA1 to ui:0.0.3-QA1 every time docker_file.yml is opened.

Thanks in advance!

Is this a homework assignment? Homework and coursework questions can only be posted in the Homework & Coursework Questions forum under special homework rules.

Please review the rules, which you agreed to when you registered, if you have not already done so.

If you did post homework in the main forums, please review the guidelines for posting homework and repost.

If you did not post homework, please explain the company you work for and the nature of the problem you are working on, and tell us:

  1. What operating system are you using?
  2. What shell are you using?
  3. What have you tried to solve this problem on your own?
1 Like

Don, what makes you think it's a school homework . Your reply looks more like a school boy reply . OS: CentOS 7, shell: bash.
Have I tried this on my own? Yes, and I found the way to solve it, but wanted to waste time of self and everyone on forum, so made a profile and posted it here. How silly.

Hi akshayupadhayay,
How silly, indeed.

I asked you to explain what company you're working for and the nature of the problem if this is not a homework assignment because the problem you have presented looks more like a homework assignment than something that most people would need to do in a normal workplace setting. Your refusal to directly answer the question "Is this a homework assignment?", your refusal to show us what you have tired to solve this problem on your own, and your refusal to explain why you need to do this at all leads us to believe that this is a homework assignment rather than a legitimate work assignment.

This site is designed to help people who want to learn how to use the tools available on BSD, Linux, and UNIX systems to actually learn how to perform tasks like you have described in this thread on their own.

Creating a profile here does not mean that the volunteers who work on this site are here to act as your unpaid programming staff. If you are unwilling to show us that you have made an honest attempt to solve this problem on your own, there is little incentive for us to make any attempt show you the code we have written that seems to solve your problem for you.

2 Likes

It is my first post on this forum, if you thought it lacked information to solve the issue and make it look legitimate, being an admin you should have directed me to add further info to support my case. Or simply reject the thread as it violates rules by insufficient information. Then I could have re-structured my question and posted again and learned to use the forum in better way going forward.

Also why on earth it matters to reveal your company name? You kind a looking for job opportunities ? First of a kind forum where admin wants to know your company name.

Your first answer was very kiddish and made me to post my question elsewhere (yes with more information, which I believe is true because original question lacks it).

Immaturity takes people to explore better forums.

Thanks

---------- Post updated at 11:21 AM ---------- Previous update was at 11:13 AM ----------

Also I see so many thread or questions posted with very minimal information or kind of same way I posted my questions. But now I get it. Since I�m a new user and admins and moderators are busy in maintaining the decorum of forum, initially target newly registered users only. It�s Ok, happens on every other forum where admins don�t have much to do.

This one increases the first version number:
(e. g. shows the changed file on screen. does not change the file)

perl -pe 's/(^version: .\d+\.)(\d+)(.)/$1.($2+1).$3/e;' docker_file.yml

Possibilites to learn

akshayupadhayay,

This will be your last post here if you are going to post here with a combative attitude.

I reviewed Don's question to you about homework and your reply, and I find you could have simply answered his question in a professional way instead of posting all the wise cracks and anti-forum mod BS.

So, if you want to post here do not be a jerk to our mods,

If you want to be a jerk, then of course you can post elsewhere. This is a free forum with a steller reputation and if you want to come here and stir up trouble with our mods, I will ban you.

Our mods do a great job and they have plenty of things to do besides be abused from first time posters.

Thread closed.