I am very new to to shell scripting and facing a problem that I can't seem to solve. I want to write a bash script that edits file1.txt and saves it as file2.txt.
This is what the files should look like:
file1:
This is just a short example, there are way more lines. What I want to do is replicate certain lines (and I know what the startline and endline looks like) very often.
I think (unfortunaely I can't test it anymore before tomorrow)
Thank you very much! It works fine, but I still have trouble to find out what every part of the code does. What does
X=X $0 "\n";
for example do? I understand that $0 means the whole line and \n is newline, but what about the X=X in this context?
Is there a way to have the for-loop outside of the awk-command? That would be useful, because later I will need several for-loops around it. I tried things like
X=X $0 "\n"; is a concatenation of X plus $0 plus \n, then assigned to X.
That external for loop will of course print the entire file REPEAT times. If your entire problem were known, it possibly might be solvable entirely in awk .
Thank you! I wanted to keep it simple an face the problem step by step, but that might be confusing, too. So here is the whole problem:
file1.txt is a template that looks like this:
where MM stands for month (0..12) and DD for day (I managed to check with if-constructions how many days one month has. I want to copy and paste the three lines for every month and day, so that I get:
I would do that with two for loops, maybe I will need more in the future for years.
So my initial problem is to copy and paste the three lines. I think I be able to substitute the template MMDD with sed.
Thank you so much! I finally managed to understand every part of your code and could even adapt it as my input has slightly changed to just one line that needs to be copied
This helped me a lot