{"id":1025,"date":"2021-03-04T17:22:29","date_gmt":"2021-03-04T16:22:29","guid":{"rendered":"https:\/\/blogs.fu-berlin.de\/gruenstaeudl\/?p=1025"},"modified":"2021-08-22T13:24:57","modified_gmt":"2021-08-22T11:24:57","slug":"life-can-be-so-easy-if-you-speak-grep","status":"publish","type":"post","link":"https:\/\/blogs.fu-berlin.de\/gruenstaeudl\/2021\/03\/04\/life-can-be-so-easy-if-you-speak-grep\/","title":{"rendered":"Life can be so easy if you speak grep"},"content":{"rendered":"<p><strong>Habla usted grep?<\/strong><\/p>\n<p>In the phylogenetic analyses of a manuscript draft, I accidentally named a species with the specific epithet &#8220;violaceae&#8221; where it should have been &#8220;violacea&#8221;. I had consistently used the wrong epithet for years, and countless subdirectories of subdirectories of subdirectories now contain analysis files that include the incorrect name.<\/p>\n<p>How can this snafu be rectified in a reasonable time?<\/p>\n<p>Recursive grep to the rescue &#8230;<\/p>\n<div style=\"background-color: #ffebdb\">\n<pre>grep -rl violaceae . | xargs sed -i 's\/violaceae\/violacea\/g'<\/pre>\n<\/div>\n<p>&#8230; and the world is fine again.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Habla usted grep? In the phylogenetic analyses of a manuscript draft, I accidentally named a species with the specific epithet &#8220;violaceae&#8221; where it should have been &#8220;violacea&#8221;. I had consistently used the wrong epithet for years, and countless subdirectories of subdirectories of subdirectories now contain analysis files that include the incorrect name. How can this [&hellip;]<\/p>\n","protected":false},"author":2306,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[57598,57600],"tags":[],"class_list":["post-1025","post","type-post","status-publish","format-standard","hentry","category-bioinformatics","category-one-liners"],"_links":{"self":[{"href":"https:\/\/blogs.fu-berlin.de\/gruenstaeudl\/wp-json\/wp\/v2\/posts\/1025","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogs.fu-berlin.de\/gruenstaeudl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.fu-berlin.de\/gruenstaeudl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.fu-berlin.de\/gruenstaeudl\/wp-json\/wp\/v2\/users\/2306"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.fu-berlin.de\/gruenstaeudl\/wp-json\/wp\/v2\/comments?post=1025"}],"version-history":[{"count":3,"href":"https:\/\/blogs.fu-berlin.de\/gruenstaeudl\/wp-json\/wp\/v2\/posts\/1025\/revisions"}],"predecessor-version":[{"id":1044,"href":"https:\/\/blogs.fu-berlin.de\/gruenstaeudl\/wp-json\/wp\/v2\/posts\/1025\/revisions\/1044"}],"wp:attachment":[{"href":"https:\/\/blogs.fu-berlin.de\/gruenstaeudl\/wp-json\/wp\/v2\/media?parent=1025"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.fu-berlin.de\/gruenstaeudl\/wp-json\/wp\/v2\/categories?post=1025"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.fu-berlin.de\/gruenstaeudl\/wp-json\/wp\/v2\/tags?post=1025"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}