<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="4.3.3">Jekyll</generator><link href="https://blog.jez.io/feed/codemods.xml" rel="self" type="application/atom+xml" /><link href="https://blog.jez.io/" rel="alternate" type="text/html" /><updated>2026-01-21T18:17:55-05:00</updated><id>https://blog.jez.io/feed/codemods.xml</id><title type="html">Jake Zimmerman | Codemods</title><subtitle>A collection of blog posts about programming, software, types, programming languages, Sorbet, Vim, Markdown, and more.</subtitle><author><name>Jake Zimmerman</name></author><entry><title type="html">Tips for large-scale codemods</title><link href="https://blog.jez.io/codemods-tips/" rel="alternate" type="text/html" title="Tips for large-scale codemods" /><published>2022-11-12T21:34:51-05:00</published><updated>2022-11-12T21:34:51-05:00</updated><id>https://blog.jez.io/codemods-tips</id><author><name>Jake Zimmerman</name></author><category term="codemods" /><category term="devprod" /><summary type="html"><![CDATA[Some tips I've accumulated while working on a team that does a lot of codemods.]]></summary></entry><entry><title type="html">Surgery on Code from the Command Line</title><link href="https://blog.jez.io/surgery-on-code/" rel="alternate" type="text/html" title="Surgery on Code from the Command Line" /><published>2019-07-30T12:32:48-04:00</published><updated>2019-07-30T12:32:48-04:00</updated><id>https://blog.jez.io/surgery-on-code</id><author><name>Jake Zimmerman</name></author><category term="codemods" /><category term="bash" /><category term="unix" /><summary type="html"><![CDATA[One problem that comes up all the time for me is needing to manipulate files only on specific lines. Like, “find and replace this pattern, but only on specific lines.” In this post, I’ll introduce the CLI tools I’ve made to solve this class of problems with some examples.]]></summary></entry></feed>