$ ln -nsf <TARGET> <LINK>
Credit: Commandline-fu.
29 Monday Aug 2011
$ ln -nsf <TARGET> <LINK>
Credit: Commandline-fu.
13 Sunday Mar 2011
If you want to replace dots in a string, for example “a.string.with.dots”, by hyphens use the following trick
$ echo "a.string.with.dots" | tr "." "-"
That’s it!
Needless to say, other characters may also be substituted this way.
10 Thursday Mar 2011
Tags
In connection to my previous post on SVN intro, here’s a neat trick to list SVN commits by a user for a given date range:
$ for i in `svn log -r{2011-02-01}:HEAD | awk '$3 == "user" {print $1}'`; do svn log -v -$i;done
Note: It does not work in t/csh shells since you need a different looping structure (see a recent post on t/csh loops).
Reference: Command-Line-Fu.
03 Thursday Mar 2011
Posted in csh
If you are stuck with a c-shell and you want to print (or execute a command) for an increment, say of 5, Â in a variable (for example, $x), then do either of the following:
#!/bin/csh
# Exammple: 1
foreach x (`seq 1 5 20`)
echo $x
end
#EOF
#!/bin/csh
# Example: 2
@ x = 1
while ($x <= 20)
echo $x
@ x += 5
end
#EOF
They both print the numbers 1 to 20 in steps of 5. If you want to use it in the command line, then you need to type each line (of course, except  #!/bin/csh and #EOF) and hit enter .
If you know all the possible elements (numbers, characters or strings) of the array passed on to x for each foreach, then you may  choose to use the following
#!/bin/csh
# Example: 3
foreach x (1 2 9 40)
echo $x
end
#EOF
when the elements are 1, 2, 9 and 40; or
#!/bin/csh
# Example: 4
foreach x (*.cpp)
echo $x
end
#EOF
when the elements are all the filenames ending with .cpp in the current directory.
Update: The second option (Example: 2) spits out some syntax error message when used in the command line (in the same way as mentioned above). However, it works fine in a script file.
20 Friday Nov 2009
To know the return value of a command, in BASH run
$ echo $?
and in CSH/ TCSH run
$ echo $status
which will give you the return value (0 or 1) of the last command (the one issued just before the echo).
In both the shells, if the above spits out 0 (zero), it means the previous command was successfully completed, otherwise it’ll give rise to 1 (unsuccessful!) — quite contrary to our concept of 0 being false and 1 being true, eh!
Credit: Oracle Spin.