odg8
By:
odg8

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

March 7, 2016 1.3k views
DigitalOcean Linux Commands

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

2 comments
  • 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.

  • 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.

1 Answer

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

Have another answer? Share your knowledge.