Tuesday, September 06, 2011

bash: randomize order of arguments

n=$#
c=0
declare -a s
for r in $(seq 1 $n)
do
while [ -z $i ] || [ $((${s[$i]})) -eq 1 ] && [ $c -lt $n ]
do
u=$(od -N2 -tu2 -An /dev/urandom)
i=$(( $u % $n + 1))
done
s[$i]=1
c=$(($c + 1))
echo $i
i=''
done

Tuesday, July 05, 2011

BASH: Random text file sample (linewise)

num=$(wc -l < file.txt)
for i in $(seq 1 1000)
do
   n=$(( $RANDOM * $RANDOM % $num ))
   sed -n "${n}p" file.txt >> /tmp/file.txt.sample
done

Tuesday, February 01, 2011

Teradata: timestamp literal

select cast('04/10/2009 02:56:12.937' AS TIMESTAMP(3) FORMAT 'DD/MM/YYYYBHH:MI:SSDS(3)')