commandlinefu.com is the place to record those command-line gems that you return to again and again.
Delete that bloated snippets file you've been using and share your personal repository with the world. That way others can gain from your CLI wisdom and you from theirs too. All commands can be commented on, discussed and voted up or down.
If you have a new feature suggestion or find a bug, please get in touch via http://commandlinefu.uservoice.com/
You can sign-in using OpenID credentials, or register a traditional username and password.
First-time OpenID users will be automatically assigned a username which can be changed after signing in.
Every new command is wrapped in a tweet and posted to Twitter. Following the stream is a great way of staying abreast of the latest commands. For the more discerning, there are Twitter accounts for commands that get a minimum of 3 and 10 votes - that way only the great commands get tweeted.
» http://twitter.com/commandlinefu
» http://twitter.com/commandlinefu3
» http://twitter.com/commandlinefu10
Use your favourite RSS aggregator to stay in touch with the latest commands. There are feeds mirroring the 3 Twitter streams as well as for virtually every other subset (users, tags, functions,…):
Subscribe to the feed for:
As long as you have perl based rename. You can check:
=$ rename --help
Unknown option: help
Usage: rename [-v] [-n] [-f] perlexpr [filenames]
That's the good one.
All words of the filenames except "a", "of", "that" and "to" are capitalized.
To also match words which begin with a specific string, you can use this:
rename 's/\b((?!hello\b|t)[a-z]+)/\u$1/g' *
This will capitalize all words except "hello" and words beginning with "t".
Uses vi style search / replace in bash to rename files. Works with regex's too (I use the following a script to fixup / shorten file names):
# Remove complete parenthetical/bracket/brace phrases
rename 's/\(.*\)//g' *
rename 's/\[.*\]//g' *
rename 's/\{.*\}//g' *
This command is useful for renaming a clipart, pic gallery or your photo collection. It will only change the big caps to small ones (on the extension).
This commands removes space from all the files with specific extension. I've specifed *.jpg as an example.
Replace 'SHOWNAME' with the name of the TV show.
Add -n to test the command without renaming files.
Check the 'sample output'.
This is better than doing a "for `find ...`; do ...; done", if any of the returned filenames have a space in them, it gets mangled. This should be able to handle any files.
Of course, this only works if you have rename installed on your system, so it's not a very portable command.
This command will replace all the spaces in all the filenames of the current directory with underscores. There are other commands that do this here, but this one is the easiest and shortest.
Change files case, without modify directories, recursively.
... fucking vfat
Substitute spaces in filename with underscore, it work on the first space encountered.
This command converts filenames with embedded spaces in the current directory replacing spaces with the underscore ("_") character.
This will change all files ending in .JPG to .jpg and will work with any file extension
Note the g for global in the perl expression; without it, only the first occurrence in the name would be replaced.