This is the place where I leave my scripts, my useful files, glad to have your suggestions. If you want to make discuss, please contact me at YM id bornbygoogle or my mail bornbygoogle@yahoo.com or simply let ur mail. I'll try to contact as soon as possible :) Nice to see you :D
Saturday, March 29, 2008
Bash command : Read the content a file !
cat <_file_name_> |while read line; do echo "${line}"; done
Wednesday, March 19, 2008
Bash script to connect to strongest unencrypted wifi AP
#!/bin/bash
# Finds the strongest unencrypted AP and tries to connect to it via dhcp
# Call this script like "wifi.sh wlan0"
TEMP=/tmp/bestap.tmp
LOCK=/var/lock/bestap.lock
if [ `whoami` != "root" ];then
echo "Sorry, you need to be root to run this program"
exit 1
fi
if [[ -z $1 ]];then
echo "USAGE: $0 device"
exit 1
else
interface=$1
fi
# Checking for lock
if [[ -e $LOCK ]];then
exit 1; # Too simply nothing to do here :)
else
touch $TEMP $LOCK
fi
isNotInteger()
{
x=$1
case $x in
*[!0-9])
return 0 ;;
*)
return 1 ;;
esac
}
# Proggy
iwlist $interface scan > $TEMP
NumAPs=`cat $TEMP | grep ESSID | wc -l`
BestAP=0
BestQuality=-1
for i in `seq 1 $NumAPs`;
do
# Check if AP is encrypted
Encryption=`cat $TEMP | grep Encryption | head -n$i | tail -n1 | cut -d":" -f2`
if [ $Encryption = "off" ]; then
# Find AP with the highest quality
QUALITY=`cat $TEMP | grep Quality | head -n$i | tail -n1 | cut -d":" -f2 | cut -d"/" -f1 | sed 's/ //g'`
if isNotInteger "$QUALITY"; then
# If we didn't find an integer, try this instead:
QUALITY=`cat $TEMP | grep Quality | head -n$i | tail -n1 | cut -d"=" -f2 | cut -d"/" -f1 | sed 's/ //g'`
fi
if [ "$QUALITY" -gt "$BestQuality" ]; then
BestQuality=$QUALITY
BestAP=$i
fi
fi
done
if [ $BestAP -gt 0 ]; then
# Yay, we found an unencrypted AP:
echo Connecting to...
ESSID=`cat $TEMP | grep ESSID | head -n$BestAP | tail -n1 | cut -d""" -f2`
echo ESSID=$ESSID
MODE=`cat $TEMP | grep Mode | head -n$BestAP | tail -n1 | cut -d":" -f2`
echo Mode=$MODE
CHANNEL=`cat $TEMP | grep Channel | head -n$BestAP | tail -n1 | cut -d"(" -f2 | sed 's/Channel //g' | sed 's/)//g'`
echo Channel=$CHANNEL
# Connect
iwconfig $interface essid $ESSID mode $MODE channel $CHANNEL
if [ -e /etc/dhcpc/dhcpcd-${interface}.pid ]; then
rm /etc/dhcpc/dhcpcd-${interface}.pid
fi
dhcpcd $interface
# Cleanup
fi
rm -f $TEMP $LOCK
Monday, March 17, 2008
Rename multiple file !
We are going to use rename which is a perl script, and also the know mv, together with for, in "one-line" shell-script
rename
Syntax
rename [ -v ] [ -n ] [ -f ] perlexpr [ files ]
- -v
- Verbose: print names of files successfully renamed.
- -n
- No Action: show what files would have been renamed.
- -f
- Force: overwrite existing files.
- perlexpr Perl Expression
Regular Expressions
^
- matches the beginning of the line
$
- matches the end of the line
.
- Matches any single character
(character)*
- match arbitrarily many occurences of (character)
(character)?
- Match 0 or 1 instance of (character)
[abcdef]
- Match any character enclosed in [] (in this instance, a b c d e or f)
ranges of characters such as[a-z]
are permitted. The behaviour
of this deserves more description. See the page on grep
for more details about the syntax of lists. [^abcdef]
- Match any character NOT enclosed in [] (in this instance, any character other than a b c d e or f)
(character)\{m,n\}
- Match m-n repetitions of (character)
(character)\{m,\}
- Match m or more repetitions of (character)
(character)\{,n\}
- Match n or less (possibly 0) repetitions of (character)
(character)\{n\}
- Match exactly n repetitions of (character)
\(expression\)
- Group operator.
\n
- Backreference - matches nth group
expression1\|expression2
- Matches expression1 or expression 2. Works with GNU sed, but this feature might not work with other forms of sed.
\w
- matches any single character classified as a “word” character (alphanumeric or “_”)
\W
- matches any non-“word” character
\s
- matches any whitespace character (space, tab, newline)
\S
- matches any non-whitespace character
\d
- matches any digit character, equiv. to [0-9]
\D
- matches any non-digit character
As rename is a perl cript you will need perl to run it, and here are some examples about how to use it.
$ rename -v 's/\.htm$/\.html/' *.htm
This is going to change htm to html in every file ending with .htm in its name.
If you want to change the name of something like this:
-rw-r--r-- 1 ggarron ggarron 0 2007-12-30 19:33 1.txt
-rw-r--r-- 1 ggarron ggarron 0 2007-12-30 19:33 2.txt
-rw-r--r-- 1 ggarron ggarron 0 2007-12-30 19:34 3.txt
-rw-r--r-- 1 ggarron ggarron 0 2007-12-28 20:35 b.txt
-rw-r--r-- 1 ggarron ggarron 0 2007-12-28 20:35 c.txt
-rw-r--r-- 1 ggarron ggarron 0 2007-12-28 20:35 d.txt
-rw-r--r-- 1 ggarron ggarron 0 2007-12-28 20:35 e.txt
That is the output of ls -l
, and are files created with touch
by me for this examples.
nNow lets say I want to add a more descriptive string to the name of these files like Thesis, so here we go.
rename -n 's/(\w{1})\.txt$/$1_thesis\.txt/' *.txt
Note: I am using -n to make only a test and see if the result is what I want
1.txt renamed as 1_thesis.txt
2.txt renamed as 2_thesis.txt
3.txt renamed as 3_thesis.txt
b.txt renamed as b_thesis.txt
c.txt renamed as c_thesis.txt
d.txt renamed as d_thesis.txt
e.txt renamed as e_thesis.txt
As you see that is what I wanted, now lets suppose I only want to change the name to files with a number in the name and with a letter in it.
rename -n 's/(\d{1})\.txt$/$1_thesis\.txt/' *.txt
1.txt renamed as 1_thesis.txt
2.txt renamed as 2_thesis.txt
3.txt renamed as 3_thesis.txt
You can also match only the ones with non-digit names
rename -n 's/(\D{1})\.txt$/$1_thesis\.txt/' *.txt
And the output will be:
b.txt renamed as b_thesis.txt
c.txt renamed as c_thesis.txt
d.txt renamed as d_thesis.txt
e.txt renamed as e_thesis.txt
As you may see, it is just a "using the right regexp" thing.
In case you do not have rename on your system (I think non-Debian does not have) you can use mv
Using mv
Introduction
Here we will first need to learn something about bash string operators
Match and substitute, there are two basic forms for this, substitute from the right of the match and from the left of the match.
substitution from the right
${var%t*string}
Now if we want to erase the word thesis from the previous example just enter:
for i in *.txt; do mv "$i" "${i%t*.txt}.txt"; done
Before:
-rw-r--r-- 1 ggarron ggarron 0 2007-12-30 20:24 1_thesis.txt
-rw-r--r-- 1 ggarron ggarron 0 2007-12-30 20:24 2_thesis.txt
-rw-r--r-- 1 ggarron ggarron 0 2007-12-30 20:24 3_thesis.txt
-rw-r--r-- 1 ggarron ggarron 0 2007-12-30 20:24 b_thesis.txt
-rw-r--r-- 1 ggarron ggarron 0 2007-12-30 20:24 c_thesis.txt
-rw-r--r-- 1 ggarron ggarron 0 2007-12-30 20:24 d_thesis.txt
-rw-r--r-- 1 ggarron ggarron 0 2007-12-30 20:24 e_thesis.txt
After:
-rw-r--r-- 1 ggarron ggarron 0 2007-12-30 20:24 1_.txt
-rw-r--r-- 1 ggarron ggarron 0 2007-12-30 20:24 2_.txt
-rw-r--r-- 1 ggarron ggarron 0 2007-12-30 20:24 3_.txt
-rw-r--r-- 1 ggarron ggarron 0 2007-12-30 20:24 b_.txt
-rw-r--r-- 1 ggarron ggarron 0 2007-12-30 20:24 c_.txt
-rw-r--r-- 1 ggarron ggarron 0 2007-12-30 20:24 d_.txt
-rw-r--r-- 1 ggarron ggarron 0 2007-12-30 20:24 e_.txt
substitution from the left
${var#string}
And if we want to replace .txt for .txt.bak just enter:
Now lets suppose we have this:
-rw-r--r-- 1 ggarron ggarron 0 2007-12-30 20:28 thesis-1_.txt
-rw-r--r-- 1 ggarron ggarron 0 2007-12-30 20:28 thesis-2_.txt
-rw-r--r-- 1 ggarron ggarron 0 2007-12-30 20:28 thesis-3_.txt
-rw-r--r-- 1 ggarron ggarron 0 2007-12-30 20:28 thesis-b_.txt
-rw-r--r-- 1 ggarron ggarron 0 2007-12-30 20:28 thesis-c_.txt
-rw-r--r-- 1 ggarron ggarron 0 2007-12-30 20:28 thesis-e_.txt
And we want to erase the word thesis
Just enter this:
for f in thesis*; do mv "$f" "${f#thesis-}"; done
And the output of ls -l
will now be:
-rw-r--r-- 1 ggarron ggarron 0 2007-12-30 20:28 1_.txt
-rw-r--r-- 1 ggarron ggarron 0 2007-12-30 20:28 2_.txt
-rw-r--r-- 1 ggarron ggarron 0 2007-12-30 20:28 3_.txt
-rw-r--r-- 1 ggarron ggarron 0 2007-12-30 20:28 b_.txt
-rw-r--r-- 1 ggarron ggarron 0 2007-12-30 20:28 c_.txt
-rw-r--r-- 1 ggarron ggarron 0 2007-12-30 20:28 e_.txt
My example :
I have a lot of files named Untitled-xxx.jpg. Now I want to rename to xxx.jpg
I must use the syntaxe : rename 's/^Untitled-//g ; s/^0+//g' *.jpg
Wednesday, March 5, 2008
Tạp chí online ( bằng tiếng Anh ) !
Số lượng sách và tạp chí tại đây rất đa dạng với nhiều chuyên ngành như: kinh tế, khoa học kỹ thuật, y học, văn học, thời trang, tin học... điều thú vị là các tạp chí này luôn có số mới nhất và chưa được phát hành, đồng thời bạn cũng không bị hạn chế về số trang được xem.
Không những có thể xem trực tuyến, trang web còn cho phép người đọc tải về để xem offline (riêng các tạp chí quá mới thì bạn chỉ được xem online thôi, tuy nhiên bạn có thể dùng một máy in ảo như để xuất tài liệu online ra tập tin PDF), các tài liệu này đều ở định dạng PDF và có chất lượng khá tốt. Chỉ lưu ý nhỏ là đối với các tạp chí được tải về xem offline, có thể bạn sẽ phải chú ý thật nhiều và vốn tiếng Anh kha khá thì mới nhìn thấy địa chỉ tải của chúng đấy.
Tạp chí tiếng Việt cho những người thích tìm hiểu về tin học !
Bạn muốn tìm hiểu Windows Vista? Bạn muốn biết thêm cách sử dụng các dịch vụ email? Bạn không rõ về mạng, phần cứng... Mọi thắc mắc của các bạn có thể tìm thấy tại trang Web HOW-TO (http://www.how.vn). Với câu mời “Làm thế nào để...”, website cung cấp cho bạn rất nhiều những thủ thuật máy tính về Vista, XP, Office, Email, Network... Làm thế nào cải thiện tốc độ Windows XP, làm thế nào để tự chạy các ứng dụng bạn yêu thích, làm thế nào để chia sẻ dữ liệu trong môi trường mạng...? Từng bài viết, từng chuyên mục sẽ giúp bạn nắm vững chiếc máy tính của mình hơn.
Vui xuân Mậu Tí cùng các game con chuột !
Đây là một game phiêu lưu rất thú vị với đồ họa đẹp tới từng chi tiết. Bạn sẽ được cùng chuột chũi Harry đi chu du vòng quanh thế giới, xuyên các đại dương qua các châu lục để tìm đủ 10 phần của kho báu.
Cách chơi game này rất dễ, bạn sử dụng các phím mũi tên để di chuyển chuột chũi Harry qua trái, phải hay lên, xuống để tìm kiếm các phần của kho báu. Phím M để hiển thị hoặc giấu bản đồ đường đi. Phím Space để nhặt hoặc thả đồ vật. Bạn cần nhặt đồ để vượt qua những chướng ngại vật cản đường (mỗi lần chỉ nhặt được một đồ vật). Bạn đừng để chuột chũi Harry va phải những con chuột khác trên đường làm cho Harry sẽ bị tổn thương và hao tốn năng lượng. Hãy giúp Harry tìm đủ 10 phần của kho báu nhé. Game có dung lượng tí hon 1.34 MB, bạn có thể chơi trực tuyến hoặc download về chơi offline tại 2 địa chỉ: http://www1.socvui.com/VCGuploaded/GameFlashs/chuotchuitimkhobau.swf và http://tinyurl.com/22dtto.
Mèo Tom và chuột Jerry
Game mô phỏng bộ phim hoạt hình nổi tiếng Tom & Jerry. Ở trò chơi này các bạn sẽ trực tiếp tham gia đóng vai 1 trong 2 nhân vật trên trong trò Ném bóng nước và Kẻ đột kích.
Ở vai mèo Tom bạn dùng những quả bong bóng nước để ném vào chú chuột Jerry khi Jerry đang cố lấy trộm những miếng phó mát và chạy trốn qua chiếc dây phơi. Bạn dùng phím mũi tên để di chuyển mèo Tom sang trái hoặc phải và dùng phím Space để ném bong bóng nước vào Jerry, bạn phải ném thật nhanh và chính xác đừng để Jerry lấy trộm phó mát của chủ nhà.
Còn trong vai chuột Jerry - kẻ đột kích, bạn dùng phím Space ăn trộm thức ăn trong tủ lạnh và ném xuống cho một chú chuột khác ở dưới, vừa phải ném chính xác vừa phải tránh những trái banh do mèo Tom ném vào. Game flash Tom & Jerry có dung lượng 866 KB, download tại địa chỉ: http://www.gamevui.com/images/Flash/gamevui/Tom_Jerry.swf hoặc http://tinyurl.com/yvk2fu.
Chuột chũi tập bay
Một trò chơi vui nhộn khác với nhân vật là các chú chuột chũi ngộ nghĩnh. Khéo léo và chính xác trong các cú click chuột bạn sẽ giúp những chú chuột này bay rất xa đấy!
Bạn click chuột lần thứ nhất để chú chuột nhảy lên cao, canh chính xác khi chú ta rơi xuống rồi click lần hai để một chú khác dùng chiếc gối bắn chú ta đi thật xa. Trong khi bay, cố gắng giữ và click chuột để nhặt những vật dụng như bàn trượt, chong chóng phản lực, lò xo để tăng thêm sức mạnh và thành tích. Bạn có thể chơi game Chuột chũi tập bay trực tuyến tại địa chỉ:
http://www1.socvui.com/VCGuploaded/GameFlashs/chuotchuitapbay.swf hoặc: http://tinyurl.com/2be57s.
Chuột ăn phó mát
Trong trò chơi này, bạn sẽ vào vai một chú chuột háu ăn. Vì đói bụng nên chú ta phải đi kiếm những miếng phó mát để thỏa mãn cơn đói của mình. Nhưng những miếng phó mát thơm ngon được canh giữ rất nghiêm ngặt bởi những chú mèo béo hết sức tinh ranh khiến chuột ta phải di chuyển thật khéo léo để tránh khỏi sự truy cản của những chú mèo này. Cách chơi rất đơn giản, bạn sử dụng các phím mũi tên lên, xuống, trái, phải để điều khiển chú chuột di chuyển ăn phó mát. Nhưng hãy cẩn thận vì số lượng mèo xuất hiện sẽ ngày càng đông đấy.
Game được cung cấp hoàn toàn miễn phí. Bạn có thể chơi trực tuyến tại địa chỉ http://www3.socvui.com/Game_ Vui_Nhon/chuot_an_pho_mat.html hoặc download về (158 KB) chơi offline tại http://www.box.net/shared/558f1mr8cs.
Chú chuột đưa thư
Một chú chuột được giao nhiệm vụ đưa các bức email tới đúng địa chỉ.Nhưng công việc này lại không đơn giản chút nào bởi trên đường đi có rất nhiều lỗ hổng khiến chú chuột có thể bị rớt ra khỏi đường đi và các virus đe dọa làm hỏng thông điệp. Đây là một game rất ngộ nghĩnh, đồ họa đẹp và đòi hỏi bạn phải khéo léo nhanh tay một chút. Cách chơi thật đơn giản, bạn dùng chuột trái để click vào những điểm có màu sáng xanh giúp chú chuột chạy được đúng đến nơi đưa thư. Trên đường đi bạn phải tránh các lỗ hổng, diệt virus nếu cần. Tới được nơi có miếng phó mat là bạn đã qua màn chơi.
Game được cung cấp hoàn toàn miễn phí. Bạn có thể chơi trực tuyến tại địa chỉ http://www3.socvui.com/Game_Vui_Nhon/chu_chuot_ dua_thu.html hoặc download về (393 KB) chơi offline tại http://www.box.net/shared/ki2a2hnsoc.
Chú chuột tham ăn
Có thể nói trò chơi này giống Mario, nhưng hấp dẫn hơn nhiều, vì phần hình ảnh đẹp, âm thanh vui nhộn và các màn chơi vô cùng lý thú. Cách chơi rất đơn giản, bạn sử dụng phím Space để nhảy, mũi tên lên, xuống, trái, phải để điều khiển hướng di chuyển của chú chuột. Nhiệm vụ của bạn là phối hợp các nút điều khiển thật tốt, giúp chú chuột ăn hết được các miếng phó mát.
Game được cung cấp hoàn toàn miễn phí. Bạn có thể chơi trực tuyến tại địa chỉ http://www3.socvui.com/Game_Kinh_Dien/chu_chuot_ tham_an.html hoặc download về chơi offline tại http://www.box.net/shared/mo518ui8s0 (560KB).
Bầy chuột đào tẩu
Một chú chuột thực hiện cuộc đào tẩu trên một chiếc máy bay. Trên đường đi, chú ta phải lái máy bay tránh những chiếc máy bay khác di chuyển ngược chiều. Hãy tập trung điều khiển máy bay của chú chuột vượt qua những cửa ải khó nhất và bạn sẽ là người chiến thắng. Cách chơi rất đơn giản, bạn sử dụng các phím mũi tên lên, xuống để điều khiển chú chuột bay. Bạn không được đi quá vùng trời màu xanh và hãy tập trung ăn những quả bóng đỏ để có thể gọi các đồng đội đến yểm trợ.
Game được cung cấp hoàn toàn miễn phí. Bạn có thể chơi trực tuyến tại địa chỉ http://www3.socvui.com/Game_Vui_Nhon/bay_chuot_ dao_tau.html hoặc download về (1,04 MB) chơi offline tại http://www.box.net/shared/lewfx0fswk.
Siêu nhân chuột nhắt
Ms M - bạn gái của siêu nhân chuột Super M vừa bị một bọn xấu bắt cóc. Hãy cùng siêu nhân chuột đi giải cứu Ms M và khám phá thành phố
Game được cung cấp hoàn toàn miễn phí. Bạn có thể chơi trực tuyến tại địa chỉ http://www3.socvui.com/Game_Vui_Nhon/sieu_nhan_ chuot_nhat.html hoặc download về chơi offline tại http://www.box.net/shared/me3jwumcks (1,21 MB).
Remy tài ba
Trong trò chơi này, bạn sẽ điều khiển chú chuột có tên Remy tung hứng thức ăn. Luật chơi có vẻ rất đơn giản: chỉ cần di chuyển chuột là đủ. Nhưng bạn sẽ thấy không dễ chút nào bởi sự nhanh nhạy và khéo léo là yếu tố được đặt lên hàng đầu khi số lượng đồ ăn mỗi lúc một nhiều thêm và tốc độ game cũng tăng theo. Cách chơi cũng rất đơn giản, bạn di chuyển chuột để cho Remy chuyển động, tung hứng những món đồ ăn sao không cho rơi xuống sàn nhà. Ăn biểu tượng Intel để tăng tốc cho Remy.
Game được cung cấp hoàn toàn miễn phí. Bạn có thể chơi trực tuyến tại địa chỉ http://www3.socvui.com/Game_Vui_Nhon/Remy_tai_ba.html hoặc download về (870 KB) chơi offline tại http://www.box.net/shared/js1tqwckk8.
Lưu ý: Để chơi offline các game trên, máy của bạn phải cài sẵn chương trình flash player hay bất cứ chương trình gì có khả năng chạy tập tin flash. Đơn giản hơn, bạn có thể click chuột phải lên game muốn chơi, chọn Open With --> Choose Program --> Internet Explorer ( Mozilla Firefox ) . Sau khi trình duyệt mở tập tin này lên, bạn bấm chuột trái vào thông báo xổ xuống ở đầu trang rồi chọn Allow Blocked Content và bắt đầu chơi game.
Convert Megaupload links to Rapidshare links !
Nice to help you ! :)