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.
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:
I needed to add a line to my crontab from within a script and didn't want to have to write my own temporary file.
You may find you need to reload the crond after this to make the change take effect.
e.g.:
if [ -x /sbin/service ]
then
/sbin/service crond reload
else
CRON_PID=`ps -furoot | awk '/[^a-z]cron(d)?$/{print $2}'`
if [ -n "$CRON_PID" ]
then
kill -HUP $CRON_PID
fi
fi
The reason I had CRON_HOUR and CRON_MINS instead of numbers is that I wanted to generate a random time between midnight & 6AM to run the job, which I did with:
CRON_HOUR=`/usr/bin/perl -e 'printf "%02d\n", int(rand(6))'`
CRON_MINS=`/usr/bin/perl -e 'printf "%02d\n", int(rand(60));'`
the sql command lpad and rpad using sed
for lpad, invert the &_ with _&:
ls / | sed -e :a -e 's/^.\{1,15\}$/_$/;ta'
sed already has an option for editing files in place and making backup copies of the old file. -i will edit a file in place and if you give it an argument, it will make a backup file using that string as an extension.
searching for sed to make a csv, I found the solution from Mr. Stolz in http://funarg.nfshost.com/r2/notes/sed-return-comma.html
you can also to use:
tr "\n" "," ;
But I was looking for a sed way =)
Change run control links from start "S" to stop "K" (kill) for whatever run levels in curly braces for a service called "myservice". NEWFN variable is for the new filename stored in the in-line shell. Use different list of run levels (rc*.d, rc{1,3,5}.d, etc.) and/or swap S with K in the command to change function of run control links.
Replace the word 'war' to word 'peace' in every file in the current directory.
Slightly simpler version of previous sed command that does the same thing. In this case, the output will stop at the command, and the entire command will be terminated as well, instead of proceeding through the whole file.
The command gives size of all files smaller than 1024k, this information, together with disk usage, can help determin file system parameter (e.g. block size) or storage device (e.g. SSD v.s. HDD).
Note if you use awk instead of "cut| dc", you easily breach maximum allowed number of records in awk.
If BREs can be used, this sed version will also get the job done.
Esse comando procura por arquivos php que que iniciem com '
If you want all the URLs from all the sessions, you can use :
perl -lne 'print for /url":"\K[^"]+/g' ~/.mozilla/firefox/*/sessionstore.js
Thanks to tybalt89 ( idea of the "for" statement ).
For perl purists, there's JSON and File::Slurp modules, buts that's not installed by default.
Print out contents of file with line numbers.
This version will print a number for every line, and separates the numbering from the line with a tab.
There's too many options to number,
My curiosity has forced me to make it using only sed.
Maybe useful... or not... :-S
Require "grep -P" ( pcre ).
If you don't have grep -P, use that :
grep -Eo '"url":"[^"]+' $(ls -t ~/.mozilla/firefox/*/sessionstore.js | sed q) | cut -d'"' -f4
Only need to install Image Magick package.
Display a xkcd comic with its title and save it in /tmp directory
If you prefer to view the newest xkcd, use this command:
wget -q http://xkcd.com/ -O-| sed -n '/<img src="http:\/\/imgs.xkcd.com\/comics/{s/.*\(http:.*\)" t.*/\1/;p}' | awk '{system ("wget -q " $1 " -O- | display -title $(basename " $1") -write /tmp/$(basename " $1")");}'
This command find all files in the current dir and subdirs, and replace all occurances of "oldstring" in every file with "newstring".