[bash]
#!/bin/sh
file="/tmp/myfile"
while read line; do
echo $line
done < "$file"
[/bash]
[bash]
#!/bin/sh
file="/tmp/myfile"
while read line; do
echo $line
done < "$file"
[/bash]
Problem: Given a sequence of numbers, show all possible letter combinations in a telephone keypad.
Recursive solution in Python:
[python]
keyboard = {
‘1’: [],
‘2’: [‘a’,’b’,’c’],
‘3’: [‘d’,’e’,’f’],
‘4’: [‘g’,’h’,’i’],
‘5’: [‘j’,’k’,’l’],
‘6’: [‘m’,’n’,’o’],
‘7’: [‘p’,’q’,’r’,’s’],
‘8’: [‘t’,’u’,’v’],
‘9’: [‘w’,’x’,’y’,’z’],
‘0’: []
}
def printkeys(numbers, prefix=""):
if len(numbers)==0:
print prefix
return
for letter in keyboard[numbers[0]]:
printkeys(numbers[1:], prefix+letter)
printkeys("234")
[/python]
Output:
adg adh adi aeg aeh aei afg afh afi bdg bdh bdi beg beh bei bfg bfh bfi cdg cdh cdi ceg ceh cei cfg cfh cfi
In case you can’t use Python’s itertools or in case you want a simple, recursive python implementation for a permutation of a list:
[python]
def perm(a,k=0):
if(k==len(a)):
print a
else:
for i in xrange(k,len(a)):
a[k],a[i] = a[i],a[k]
perm(a, k+1)
a[k],a[i] = a[i],a[k]
perm([1,2,3])
[/python]
Output:
[1, 2, 3] [1, 3, 2] [2, 1, 3] [2, 3, 1] [3, 2, 1] [3, 1, 2]
This Python implementation is based in the algorithm presented in the book Computer Algorithms by Horowitz, Sahni and Rajasekaran.
tail -n 50 -f your.log
Alternatively, you can also use watch.
“The obsolescence of an implementation must be measured against other existing implementations, not against unrealized concepts.” The Mythical Man-month – Essays on Software Engineering. Freederick P. Brooks, Jr.
[bash]$ echo {0..9}
0 1 2 3 4 5 6 7 8 9[/bash]
[bash]$ echo b{a,e,i,o,u}
ba be bi bo bu
[/bash]
[bash]$ echo x{0..9}y
x0y x1y x2y x3y x4y x5y x6y x7y x8y x9y[/bash]
[bash]$ echo {a..z}
a b c d e f g h i j k l m n o p q r s t u v w x y z[/bash]
[bash]$ echo {1..3} {A..C}
1 2 3 A B C[/bash]
[bash]$ echo {1..3}{A..C}
1A 1B 1C 2A 2B 2C 3A 3B 3C[/bash]
[bash]echo {a,b{1,2,3},c}
a b1 b2 b3 c[/bash]
[bash]$ mkdir -p {project1,project2}/{src,tst,bin,lib}/
$ find .
.
./project1
./project1/tst
./project1/bin
./project1/lib
./project1/src
./project2
./project2/tst
./project2/bin
./project2/lib
./project2/src
[/bash]
[bash]$ echo {{A..Z},{a..z}}
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z[/bash]
[bash]$ for i in {a..f} 1 2 {3..5} ; do echo $i;done
a
b
c
d
e
f
1
2
3
4
5[/bash]
The examples below requires Bash version 4.0 or greater.
[bash]$echo {001..9}
001 002 003 004 005 006 007 008 009
[/bash]
[bash]$ echo {1..10..2}
1 3 5 7 9
[/bash]
“Baste a quem baste o que lhe basta
O bastante de lhe bastar!
A vida é breve, a alma é vasta;
Ter é tardar.”
Fernando Pessoa
Audiobooks and podcasts are a great option to listen during flights, commuting, or doing sport activities. LibriVox – Acoustical liberation of books in the public domain, is a great platform to listen (and volunteer to record) audiobooks in Public Domain. I started with their Plato’s Phaedo read by Bob Neufeld and it was great.
sudo find /proc -maxdepth 2 -name maps -exec grep -HE ‘\(deleted\)’ {} \; | cut -d/ -f3 | sort -u | xargs –no-run-if-empty ps
Looking for libssl in specific:
sudo find /proc -maxdepth 2 -name maps -exec grep -HE ‘/libssl\.so.* \(deleted\)’ {} \; | cut -d/ -f3 | sort -u | xargs –no-run-if-empty ps
Killing all process using a deleted version of libssl:
sudo find /proc -maxdepth 2 -name maps -exec grep -HE ‘/libssl\.so.* \(deleted\)’ {} \;| cut -d/ -f3 | sort -u | xargs –no-run-if-empty sudo kill