Delete the divers subdirs which appear between "/blog/" and the filenames in this example:
$ cat index.rss
...
<link>https://tinyapps.org/blog</link>
...
<link>https://tinyapps.org/blog/misc/202009080700_usbimager.html</link>
...
<link>https://tinyapps.org/blog/mac/202009070700_2011_mac_mini_snow_leopard.html</link>
...
<link>https://tinyapps.org/blog/windows/202008200700_vostro_2420_lines.html</link>
...
with GNU sed:
$ sed -i -E 's (tinyapps.org/blog)/[a-z]+ \1 ' index.rss
-i
= edit file in place-E
= use Extended regular expressions in the scripts
= substitute the replacement string for the first instance of the regular expression in the pattern space. (Where are the forward slashes ("/") you ask? Replaced with whitespace! since sed accepts any single-byte character as a delimiter.)(tinyapps.org/blog)
= capture group (or, as the GNU sed documentation has it, subexpression)/[a-z]+
= a forward slash followed by one or more lower case letters\1
= back-reference referring to the subexpression aboveor Perl:
$ perl -pi -e 's|(tinyapps.org/blog)/[a-z]+|\1|' index.rss
-p
= print lines (more precise explanation)-i
= edit in-place-e
= enter one line of program/nix | Sep 13, 2020