[![status-badge](https://ci.codeberg.org/api/badges/15768/status.svg)](https://ci.codeberg.org/repos/15768) ## subst - commandline tool to replace file contents or file names > [!CAUTION] > This software is now being maintained on [Codeberg](https://codeberg.org/scip/subst/). This script can be used to replace something in a file or filename by using perl regular expressions. It can also be used to rename files based on regexes. ## Usage Usage: subst [-M ] [-t] -r 's/old/new/' [ -r '...', ...] [ ... | /regex/] subst [-M ] [-tR] -m 's/old/new/' [ -m '...', ...] [ ... | /regex/] Options: -r replace contents of file(s) -m rename file(s) -R recursive (only used in conjunction with -m) -M load additional perl module to enhance /e functionality. -t test mode, do not overwrite file(s) Samples: - replace "tom" with "mac" in all *.txt files: subst -r 's/tom/mac/g' *.txt - rename all jpg files containing whitespaces: subst -m 's/ /_/g' '/.jpg/' - decode base64 encoded contents subst -M MIME::Base64 -r 's/([a-zA-Z0-9]*)$/decode_base64($1)/gem' somefile - turn every uri into a link subst -M "Regexp::Common qw /URI/" -r 's#($RE{URI}{HTTP})#link#g' somefile If is -, STDIN will be used as input file, results will be printed to STDOUT. -t does not apply for STDIN input. Substitution regex must be perlish. See 'perldoc perlre' for details. ## Samples replace "tom" with "mac" in all *.txt files: subst -r 's/tom/mac/g' *.txt rename all jpg files containing whitespaces: subst -m 's/ /_/g' '/.jpg/' decode base64 encoded contents subst -M MIME::Base64 -r 's/([a-zA-Z0-9]*)$/decode_base64($1)/gem' somefile turn every uri into a link subst -M "Regexp::Common qw /URI/" -r 's#($RE{URI}{HTTP})#link#g' somefile ## DEPENDENCIES `subst` is a perl script and as such needs perl. ## Installation Copy [subst](subst) to `$HOME/bin/subst`, that's all. No additional perl modules are required. ## Copyleft and License Copyright (c) 2002-2025 - T.v. Dein This software is licensed under the GNU GENERAL PUBLIC LICENSE version 3. ## Authors T.v.Dein ## Project homepage https://codeberg.org/scip/subst