Extends shell * and ? wildcards to allow inserting matched strings like Windows 'copy *.old =.new'

Some examples:
# Rename current files as old
doall 'mv *.cur *.old'

# Compress camcorder DV files
doall 'ffmpeg -i *.dv *.mp4'

# Move files into directories according to their extension
doall 'mv *.* $2/$1.$2'

# Symbolic links from vmlinuz.new to vmlinuz-5.12.6-foo, similarly config.new System.map.new
doall 'ln -s /boot/*-5.12.6-* /boot/$1.new'

# Hard link 3-character abbreviations for file extensions
doall 'ln *.???* $1.$2'


As shown above, instead of '=' to indicate insertions, doall uses either * or $1 etc.

doall -p (pretend mode) shows a list of commands instead of executing them
doall -i (interactive mode) asks for confirmation for each command in turn
doall -k (keep-running mode) ignores failing commands

Features

  • Pure POSIX shell script except in pretend mode
  • Simple syntax
  • Correctly handles filenames containing special characters such as quotes, line feeds and semicolons

Project Samples

Project Activity

See All Activity >

License

GNU General Public License version 3.0 (GPLv3)

Follow doall

doall Web Site

Other Useful Business Software
$300 in Free Credit Towards Top Cloud Services Icon
$300 in Free Credit Towards Top Cloud Services

Build VMs, containers, AI, databases, storage—all in one place.

Start your project in minutes. After credits run out, 20+ products include free monthly usage. Only pay when you're ready to scale.
Get Started
Rate This Project
Login To Rate This Project

User Reviews

Be the first to post a review of doall!

Additional Project Details

Operating Systems

Linux

Intended Audience

Advanced End Users, End Users/Desktop, System Administrators

User Interface

Command-line, Console/Terminal

Programming Language

Unix Shell

Related Categories

Unix Shell File Managers, Unix Shell System Shells, Unix Shell Systems Administration Software

Registered

2021-06-20