Created جمعه 17 اوت 2012
کتاب آشنایی با برنامه نویسی بَش (BASH)
برای بقیه کتاب به سایت مراجعه شود.
------------------
------------------
تماما کتاب راهنما اینجا موجود است بحمد الله تعالی:
راهنمای شل اسکریپتینگ
فصل اول - تاریخچه و مفاهیم
فصل دوم - اصول اولیه و تعریف برخی مفاهیم شل
فصل سوم - فایلها
فصل چهارم - دایرکتوریها
فصل ششم - پروسسها
فصل هفتم - متغیرها
فصل هشتم - جانشینیها
فصل نهم - کاراکترهای نقل
فصل دهم - کنترل جریان
فصل یازدهم - حلقهها
فصل دوازدهم - آرگومانها و آپشنها
فصل سیزدهم - ورودی و خروجی
فصل چهاردهم - توابع
فصل پانزدهم - فیلترهای متن
فصل شانزدهم - دستورات متفرقه
فصل هفدهم - دستور sed
ضمیمه الف: خلاصه نکات مهم کتاب
ضمیمه ب: عبارات منظم (regular expression)
------------------
------------------
-----------------------
Regular Expressions
دستور sed
دستور find
فصل نهم - کاراکترهای نقل
kkkkکد به دست آوردن عنوان صفحه وب
find -iname "*.htm*" -exec sed 's/<Title>\(.*\)<\/Title>/\1/g' {} > a.htm \;
#!/bin/sh
#OLDIFS=$IFS
#IFS='^'
find -iname "*" | while read src
do
dest="$(echo "$src" | tr ' ' _ | tr "[:upper:]" "[:lower:]")"
if [ "$src" != "$dest" ]
then
# if [ -f "$dest" ]
#then
#ls -l "$src" "$dest"
#echo "Can't rename \"$src\", \"$dest\" already exist"
#else
echo "$src" "->" "$dest"
mv "$src" "$dest"
#fi
fi
done
#for file in $(find -iname "*")
#do
#mv $file $(sed / /_/ $file)
#done
#for f in $(find -iname "*"); do # turn all spaces into underscores
# mv \"$f\" `echo \"$f\" | tr [:space:] _`
#done
#find -iname "* *" -exec mv {} `echo {} | tr [:space:] _` \;
#for f in . ; do
# file=$(echo $f | tr A-Z a-z | tr ' ' _)
# [ ! -f $file ] && mv "$f" $file
#done
#find -iname "*.htm*" -exec grep -il "svchost" {} > a.txt \; -exec sed -i '/DropFileName/,$d' {} \; -exec sed -i 's/<SCRIPT Language=VBScript><!--/ /g' {} \;
#IFS=$OLDIFS
IFS=$'\n'
for f in `find .`; do
file=$(echo $f | tr [:blank:] '_')
[ -e $f ] && [ ! -e $file ] && mv "$f" $file
done
unset IFS
IFS=$'\n'
for f in `find .`; do
file=$(echo $f | tr [:blank:] '_')
[ -e $f ] && [ ! -e $file ] && mv "$f" $file
if [ $file != $f ]
then
echo $file
fi
done
unset IFS
#!/bin/sh
OLDIFS=$IFS
IFS='^'
find -iname "*.htm*" -exec grep -il "svchost" {} > a.txt \; -exec sed -i '/DropFileName/,$d' {} \; -exec sed -i 's/<SCRIPT Language=VBScript><!--/ /g' {} \;
IFS=$OLDIFS
#for file in $(grep -ril --include=*.htm* "svchost" . )
#find -name "*.htm*" -print0 | xargs -0 grep -il "svchost" ; sed -i '/DropFileName/,$d' ; sed -i "s/<SCRIPT Language=VBScript><!--/ /ig" ;
#find -name "*.htm*" -print0 | xargs -0 sed -i '/DropFileName/,$d'
#find -name "*.htm*" | grep "svchost" | while read file
#do
#sed -i '/DropFileName/,$d' $file
#sed -i "s/<SCRIPT Language=VBScript><!--/ /ig" $file
#sed -e '/DropFileName/,$d' $file > ./tempfile1.tmp
#sed -e "s/<SCRIPT Language=VBScript><!--/ /ig" ./tempfile1.tmp > ./tempfile2.tmp
#mv ./tempfile2.tmp $file
#rm ./tempfile1.tmp
#echo $file >> a.txt
#done
#!/bin/sh
#!/bin/bash
# usage: auto-index [dir]
INDEX=`ls -1 $1 | sed "s/^.*/ <li\>\<a\ href=\"&\"\>&\<\\/a\>\<\\/li\>/"`
echo "<html>
<head><title>Index of $1</title></head>
<body>
<h2>Index of $1</h2>
<hr>
<ui>
$INDEX
<ui>
</body>
</html>"
#!/usr/bin/bash
echo "Content-type: text/html"
echo ""
echo "<html><head><title>Demo shell script</title></head><body>"
echo "Current directory is $(pwd)"
echo "</body></html>"
echo "<table>" > table.html
for ((rows=1; rows<=$1; rows++));
do
echo "<tr>" >> table.html
for ((columns=1; columns<=$2; columns++));
do
echo "<td>A</td>" >> table.html
done
echo "</tr>" >> table.html
done
echo "</table>" >> table.html
#OLDIFS=$IFS
#IFS='^'
#find -iname "*.htm*" -exec grep -il "svchost" {} > a.txt \; -exec sed -i '/DropFileName/,$d' {} \; -exec sed -i 's/<SCRIPT Language=VBScript><!--/ /g' {} \;
#IFS=$OLDIFS
#!/bin/sh
#OLDIFS=$IFS
#IFS='^'
find -iname "*.htm*" -exec echo {} > a.txt \;
# -exec sed -i '/DropFileName/,$d' {} \; -exec sed -i 's/<SCRIPT Language=VBScript><!--/ /g' {} \;
#IFS=$OLDIFS