[ قبلی ] [ فهرست ] [ بعدی ]

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