Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

cmdline-sub

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

cmdline-sub

  • 0.1.2
  • Rubygems
  • Socket score

Version published
Maintainers
1
Created
Source

Sub

sub v0.1.2 Usage: sub COMMANDLINE -- (PATTERN/SUBSTITUTION[/SUB_FLAGS])+ (/GLOBAL_FLAGS)?

sub substitutes the matching pattern in every word in the command line with the substitution. Only the first matched pattern in the word is substituted unless the 'g' flag is given. There are various options that change the way substitutions are performed or the way matches are made. Patterns can have regular expression wildcards (special characters) in them, and the regular expression engine used is Ruby's. Special characters are interpreted as special unless the 'L' flag is given.

See [https://docs.ruby-lang.org/en/master/Regexp.html#class-Regexp-label-Special+Characters] for more information on the special characters that can be used inside patterns.

The sub utility is useful mainly when editing long commandlines, so you don't have to and (or and ) through the commandline to edit it. The examples given here don't feature long commandlines for the sake of being brief and explanatory.

Ex: sub ld -m elf_i386 ex4.o -o ex4 -- ex4/ex5 This will output the following, and then execute it: ld -m elf_i386 ex5.o -o ex5

Multiple substitutions:

Multiple substitutions can be given as well, such as:

Ex: sub ld -m elf_i386 ex4.o -o ex4 -- ex4/ex5 i386/arm64 ld -m elf_arm64 ex5.o -o ex5

If multiple substitutions are given, each subsitution pattern is matched with each word, then the next substitution pattern does the same.

Global flags: Global flags can be given as the last argument:

ex: sub find . | grep '.txt' -- txt/md /p In this example, the print flag is given as a final argument. See flags information below.

Flags:

Substitution flags: -f: Substitute first matching word only. ex: sub wget https://wget.com -- wget/curl/f #=> curl https://wget.com -l: Substitute last matching word only ex: sub ls -al -- l//l #=> ls -a -L: Interpret wildcards in pattern as literals ex: sub cp here.txt there.txt -- .//L #=> cp here_txt there_txt -i: Set pattern to ignore the case of the match ex: sub cp here.txt there.txt -- CP/mv/i #=> mv here.txt there.txt -g: General substitution: substitute all matches in the word, not just the first ex: sub cp here.txt there.txt -- .//g #=> __ ________ _________ -e: Expand * in commandline after replacements are made ex: sub ls mydir -- mydir/*/e #=> ls bin README Global flags: -p: Print the command instead of executing it (adds newline) -P: Print the command instead of executing it (doesn't add newline) -c: Copy the command to clipboard instead of executing it -I: Set interactive mode: shows the command and asks if you want to execute it -v: Set verbose mode -D: Set debug mode Other flags: -h,--help: Show help (-h shows short help, --help shows full) -v,--version: Show version followed by a newline

Install: gem install cmdline-sub or: cd $HOME git clone git@github.com:luke-gru/sub.git cd sub sudo rake install # creates /usr/local/bin/sub # or # INSTALL_PREFIX="/bin" sudo rake install

Uninstall: gem uninstall cmdline-sub or: cd $HOME/sub sudo rake uninstall # removes /usr/local/bin/sub # or # INSTALL_PREFIX="/bin" sudo rake uninstall # removes /bin/sub

License: MIT

FAQs

Package last updated on 26 Nov 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc