Skip to content

Instantly share code, notes, and snippets.

@nidhog
Created July 23, 2018 13:48
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save nidhog/421d0ae387c89c8513981fc417b7a940 to your computer and use it in GitHub Desktop.
Save nidhog/421d0ae387c89c8513981fc417b7a940 to your computer and use it in GitHub Desktop.
Get schwifty rick morty show me what you got cli matrix
clear
echo "\n\n\n ___\n . -^ '--, \n /# ========='-_ \n /# (--====___====\ \n /# .- --. . --.| \n/## | * ) ( * ),\n|## \ /\ \ / | \n|### --- \ --- | \n|#### ___) #| \n|###### ##| \n \##### ---------- / \n \#### ( \n '\### | \n \### | \n \## | \n \###. .) \n '======/"
sleep 1
clear
echo "\n\n\n ___\n . -^ '--, \n /# ========='-_ \n /# (--====___====\ \n /# .- --. . --.| \n/## | * ) ( * ),\n|## \ /\ \ / | _____________________________\n|### --- \ --- | / \\ \n|#### ___) #| / SHOW ME WHAT YOU GOT! |\n|###### ##| /________________________________/\n \##### ---------- / \n \#### ( \n '\### | \n \### | \n \## | \n \###. .) \n '======/"
sleep 1.5
clear
lines=$(tput lines)
cols=$(tput cols)
awkscript='
{
lines=$1
random_col=$3
letter=$4
cols[random_col]=0;
for (col in cols) {
rnum = int(20*rand());
if (cols[col] < 0) {
line=-cols[col];
cols[col]=cols[col]-1;
subline = -cols[col] + 1
printf "\033[%s;%sH%s", line, col, " ";
printf "\033[%s;%sH%s\033[0;0H", newline, col, " ";
if (actcol >= lines) {
cols[col]=0;
} else if (rnum < 1) {
cols[col]=0
}
} else {
line=cols[col];
cols[col]=cols[col]+1;
if (rnum < 3) {
printf "\033[%s;%sH\033[1;32m%s\033[0m", line, col, letter;
} else {
printf "\033[%s;%sH\033[2;32m%s\033[0m", line, col, letter;
}
printf "\033[%s;%sH\033[37m%s\033[0;0H\033[0m", cols[col], col, letter;
if (cols[col] >= lines) {
if (rnum < 2) {
cols[col]=0
} else {
cols[col]=-1;
}
}
}
}
}
'
echo -e "\e[1;40m"
clear
if [[ -t 0 ]]; then
stty -echo -icanon -icrnl time 0 min 0;
fi
keypress=''
while [ "x$keypress" = "x" ]; do
echo $lines $cols $(( $RANDOM % $cols)) $(( $RANDOM % 2 ))
sleep 0.04
keypress="`cat -v`"
done | awk "$awkscript"
if [[ -t 0 ]]; then
stty sane;
fi
clear
exit 0
ismail git/master
❯ pbcopy gogogogo.sh
^C
ismail git/master 6s
❯ pbpaste
-e "\e[1;40m"
clear
echo "\n\n\n ___\n . -^ '--, \n /# ========='-_ \n /# (--====___====\ \n /# .- --. . --.| \n/## | * ) ( * ),\n|## \ /\ \ / | \n|### --- \ --- | \n|#### ___) #| \n|###### ##| \n \##### ---------- / \n \#### ( \n '\### | \n \### | \n \## | \n \###. .) \n '======/"
sleep 1
clear
echo "\n\n\n ___\n . -^ '--, \n /# ========='-_ \n /# (--====___====\ \n /# .- --. . --.| \n/## | * ) ( * ),\n|## \ /\ \ / | _____________________________\n|### --- \ --- | / \\ \n|#### ___) #| / SHOW ME WHAT YOU GOT! |\n|###### ##| /________________________________/\n \##### ---------- / \n \#### ( \n '\### | \n \### | \n \## | \n \###. .) \n '======/"
sleep 1.5
clear
lines=$(tput lines)
cols=$(tput cols)
awkscript='
{
"gogogogo.sh" 72L, 2421C
clear
if [[ -t 0 ]]; then
stty -echo -icanon -icrnl time 0 min 0;
fi
keypress=''
while [ "x$keypress" = "x" ]; do
echo $lines $cols $(( $RANDOM % $cols)) $(( $RANDOM % 2 ))
sleep 0.04
keypress="`cat -v`"
done | awk "$awkscript"
if [[ -t 0 ]]; then
stty sane;
fi
clear
exit 0
ismail git/master
❯ vim gogogogo.sh
ismail git/master 11s
❯ cat gogogogo.sh
clear
echo "\n\n\n ___\n . -^ '--, \n /# ========='-_ \n /# (--====___====\ \n /# .- --. . --.| \n/## | * ) ( * ),\n|## \ /\ \ / | \n|### --- \ --- | \n|#### ___) #| \n|###### ##| \n \##### ---------- / \n \#### ( \n '\### | \n \### | \n \## | \n \###. .) \n '======/"
sleep 1
clear
echo "\n\n\n ___\n . -^ '--, \n /# ========='-_ \n /# (--====___====\ \n /# .- --. . --.| \n/## | * ) ( * ),\n|## \ /\ \ / | _____________________________\n|### --- \ --- | / \\ \n|#### ___) #| / SHOW ME WHAT YOU GOT! |\n|###### ##| /________________________________/\n \##### ---------- / \n \#### ( \n '\### | \n \### | \n \## | \n \###. .) \n '======/"
sleep 1.5
clear
lines=$(tput lines)
cols=$(tput cols)
awkscript='
{
lines=$1
random_col=$3
letter=$4
cols[random_col]=0;
for (col in cols) {
rnum = int(20*rand());
if (cols[col] < 0) {
line=-cols[col];
cols[col]=cols[col]-1;
subline = -cols[col] + 1
printf "\033[%s;%sH%s", line, col, " ";
printf "\033[%s;%sH%s\033[0;0H", newline, col, " ";
if (actcol >= lines) {
cols[col]=0;
} else if (rnum < 1) {
cols[col]=0
}
} else {
line=cols[col];
cols[col]=cols[col]+1;
if (rnum < 3) {
printf "\033[%s;%sH\033[1;32m%s\033[0m", line, col, letter;
} else {
printf "\033[%s;%sH\033[2;32m%s\033[0m", line, col, letter;
}
printf "\033[%s;%sH\033[37m%s\033[0;0H\033[0m", cols[col], col, letter;
if (cols[col] >= lines) {
if (rnum < 2) {
cols[col]=0
} else {
cols[col]=-1;
}
}
}
}
}
'
echo -e "\e[1;40m"
clear
if [[ -t 0 ]]; then
stty -echo -icanon -icrnl time 0 min 0;
fi
keypress=''
while [ "x$keypress" = "x" ]; do
echo $lines $cols $(( $RANDOM % $cols)) $(( $RANDOM % 2 ))
sleep 0.04
keypress="`cat -v`"
done | awk "$awkscript"
if [[ -t 0 ]]; then
stty sane;
fi
clear
exit 0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment