Question

what is the sed command to swap 2 character strings in the same 1 line

example input file: 03-06-2016 output file: 2016-03-06

Subscribe
Share

Oops – this editor lost the backslashes in front of ALL the left and right parentheses in the above. Kindly insert them while I figure out how to deal with this editor! Dick S.

You need to use the substitute command, match and mark stuff on the left with ( ) and recall it on the right with \1 \2 \3, etc. In this case sed -n ‘s/([0-9][0-9])-([0-9][0-9])-([0-9][0-9][0-9][0-9])/\3-\1-\2/’ <inputfile. Untested. Dick S.


Submit an answer
You can type!ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!

These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.

Hello,

The following post on stackoverflow may be a great resource: http://unix.stackexchange.com/questions/21061/cleanly-swap-all-occurences-of-two-strings-using-sed

You may also check out: http://www.cyberciti.biz/faq/howto-sed-substitute-find-replace-multiple-patterns/

Please let us know if there is anything else we can help you with.

Best, Mike DigitalOcean Support Check out our community for great tutorials, articles and FAQs! https://digitalocean.com/community