github起个短的别名:
代码: 全选
git remote add teliute git@github.com:TeliuTe/teliute.github.com.git
代码: 全选
#!/bin/bash
cd /home/teliute/mygit/
git add .
git commit -a -m "`date` $1"
git push teliute master
代码: 全选
#!/bin/bash
cd /home/teliute/mygit/
git pull teliute master
把命令行的内容,当日志添加到 log 文件里,复制到/bin:$mylog
代码: 全选
#!/bin/bash
cd /home/teliute/log
date>>log
echo $1 >>log
代码: 全选
#!/bin/bash
echo psw|sudo -S halt
#echo psw|sudo -S init 0
代码: 全选
#!/bin/bash
find -name '*.html' -exec sed -i 's;http://www.laxjyj.com/teliute/TeacHtm/index.htm;http://teliute.org/sort.html;' {} \;
find -name '*.html' -exec sed -i 's;http://www.laxjyj.com/teliute;http://teliute.org;' {} \;
find -name '*.html' -exec sed -i 's;>http://www.laxjyj.com/teliute</a></font>;>http://teliute.org</a></font>;' {} \;
find -name '*.html' -exec sed -i 's;>http://www.laxjyj.com/teliute/</a></p>;>http://teliute.org/</a></p>;' {} \;
find -name '*.html' -exec sed -i 's;http://www.laxjyj.com/teliute/</a> </p>;http://teliute.org/</a> </p>;' {} \;
find -name '*.html' -exec sed -i 's;,商业用途请与作者联系;;' {} \;
find -name '*.html' -exec sed -i 's;,不得用于商业用途;;' {} \;
find -name 'index.html' -exec sed -i 's;http://teliute.laxjyj.com/TeacHtm/index.htm;http://teliute.org/sort.html;' {} \;
find -name 'index.html' -exec sed -i 's;<a href="../index.htm">在线课堂</a>;<a href="http://teliute.org/sort.html">在线课堂</a>;' {} \;
find -name '*.html' -exec sed -i 's;http://teliute.laxjyj.com/;http://teliute.org/;' {} \;
find -name '*.html' -exec sed -i 's;http://teliute.laxjyj.com;http://teliute.org;' {} \;
find -name '*.html' -exec sed -i 's;>http://teliute.laxjyj.com</a></p>;>http://teliute.org</a></p>;' {} \;
代码: 全选
#!/bin/bash
############################################################
# 把目录下的所有文件和文件夹从大写转换到小写,并把文件名中的空格去掉
# 参数 convert -l ./mydir
# -u: 小写到大写
# -l: 大写到小写
# dir 目录
############################################################
hint ()
{
echo " Usage: $0 [-l|-u] DIR1 [DIR2 DIR3...]
-l to lowcase
-u to upcase"
exit 1
}
if test $# -lt 2; then
echo "Too few arguments."
hint
fi
while [ "$1" ]; do
case $1 in
-l)
ACTION="lo"
shift 1
;;
-u)
ACTION="up"
shift 1
;;
*)
if test -d $1; then
DIR="$DIR $1"
else
echo "no such directory --- $1"
hint
fi
shift
;;
esac
done
# echo $ACTION
# echo $DIR
find $1 -name "* *" -print |
while read name; do
na=$(echo $name | sed 's/ //g')
echo $na
if [[ $name != $na ]]; then
mv "$name" $na
fi
done
FOUND=`find $DIR | sort -r`
for i in $FOUND
do
DN=`dirname $i`
echo "$DN"
BS=`basename $i`
echo "$BS"
loBS=`echo $BS | tr '[A-Z]' '[a-z]'`
upBS=`echo $BS | tr '[a-z]' '[A-Z]'`
loDN=`echo $BS | tr '[A-Z]' '[a-z]'`
upDN=`echo $BS | tr '[a-z]' '[A-Z]'`
NAME1="$DN/$BS"
if [ "$ACTION" = "lo" ]; then
NAME2="$DN/$loBS"
elif [ "$ACTION" = "up" ]; then
NAME2="$DN/$upBS"
fi
if [ "$NAME1" = "$NAME2" ]; then
echo "****: $NAME1 ---x--- $NAME2 identical!"
else
echo "- renaming $NAME1 --> $NAME2"
mv "$NAME1" "$NAME2"
fi
done
代码: 全选
for i in {70..97};do useradd -g powerdev st2-$i;done
代码: 全选
rename 's/\.page$/.html/g' *.*
代码: 全选
pkill -9 fcitx
代码: 全选
#!/bin/bash
for i in $(find . -name '*.html' -print)
do
new=$(echo $i | sed 's/.$//')
mv $i $new
done
代码: 全选
#!/bin/bash
for i in $(find . -name '*.html' -print)
do
sed -i 's;<br>;
;g' $i
done
代码: 全选
find -name '*.html' -exec sed -i 's:text/html charset=UTF-8:text/html; charset=UTF-8:' {} \;
或
find -name '*.html' -print0 | xargs -0 sed -i 's:text/html charset=UTF-8:text/html; charset=UTF-8:'
代码: 全选
#!/bin/bash
for i in $(find . -name '*.html' -print)
do
sed -i 's:text/html charset=UTF-8:text/html; charset=UTF-8:' $i
done
代码: 全选
sed 的 s 命令中分隔符习惯上用 /,但是如果查找或替换的内容中包含 / 就不方便了,可以换成任何其它字符。
你上次的例子中内容中有 / 而没有分号,所以有人让你用分号,现在内容中有分号,你再挑一个符号就是了。
如果实在找不到可用的符号了(很少见),可以在内容中出现分隔符的地方在前面加反斜杠(\)。
sed -i 's:<head>:&\n<meta http-equiv="content-type" content="text/html; charset=UTF-8" />:' file.html
或
sed -i '/<head>/a<meta http-equiv="content-type" content="text/html; charset=UTF-8" />:' file.html
2. 用多行替换一行时,可以用 \n 表示换行。
代码: 全选
#!/bin/bash
echo xxx|sudo -S ifconfig eth0 192.168.1.250 netmask 255.255.255.0
echo xxx|sudo -S squid
echo xxx|sudo -S sudo /opt/lampp/lampp start
代码: 全选
#!/bin/bash
pkill -9 ica-launcher
代码: 全选
sed -i 's/^@.*$//' wbx/wbpy.txt
代码: 全选
#!/bin/bash
find -name '*.html' -exec sed -i 'N;N;s/201022.js">\n<noscript>/201022.js"><\/script>\n<noscript>/g' {} \;
代码: 全选
rpl -Rde -x'.html' '201022.js">\n<noscript>' '201022.js"></script>\n<noscript>' ./
#替换统计id的
rpl -Rd -x'.html' '201022.js' '1132862.js' ./
rpl -Rd -x'.html' '?201022' '?1132862' ./
rpl -Rd -x'.html' '201022.asp' '1132862.asp' ./
转换编码为当前系统UTF-8,替换网页字符
代码: 全选
find -name '*.htm' -exec enconv {} \;
find -name '*.html' -exec enconv {} \;
find -name '*.htm' -exec sed -i 'N;N;s/charset=gb2312/charset=UTF-8/g' {} \;
find -name '*.html' -exec sed -i 'N;N;s/charset=gb2312/charset=UTF-8/g' {} \;
rpl -Rd -x'.htm' '版权信息' '作者' ./
rpl -Rd -x'.html' '版权信息' '作者' ./
代码: 全选
#!/bin/bash
for file in *.attach; do mv $file `basename $file .attach`.ods; done
代码: 全选
#!/bin/bash
#i=100; for img in `ls *.png`; do mv $img test-`printf %.6d $i`.png; i=`expr $i - 1`; done
#Gnome-commander 批量重命名 scrot
i=99; for f in *.JPG; do mv "$f" $i.jpg; ((i--)); done
代码: 全选
wget -c -r -np -k -L -p -N http://teliute.org
代码: 全选
远程备份,需要提前开通允许远程访问,在phpmyadmin中给root用户权限中的主机从localhost改为%任意主机即可,或者用命令方式,或者修改配置文件
teliute@1-Teacher:~/bk/dzx$ /opt/lampp/bin/mysqldump -h 192.168.12.250 -P 3306 -u root -pmypsw discuzx > discuzx20131111.sql
本地还原
teliute@1-Teacher:~/bk/dzx$ /opt/lampp/bin/mysql -u root -pmypsw discuzx < discuzx20131111.sql
远程还原
teliute@1-Teacher:~/bk/dzx$ /opt/lampp/bin/mysql -h 192.168.12.253 -P 3306 -u root -pmypsw discuzx < discuzx20131111.sql
代码: 全选
#!/bin/bash
#i=100; for img in `ls *.png`; do mv $img test-`printf %.6d $i`.png; i=`expr $i - 1`; done
#Gnome-commander 批量重命名 scrot
i=99; for f in *.JPG; do mv "$f" $i.jpg; ((i--)); done
代码: 全选
gtk-icon-theme-name="Humanity"
代码: 全选
最后55100行
tail -n 55100 discuzx20140421.sql > qqfarm.sql
找出450000到5060100行
sed -n '450000,5060100p' discuzx20140421.sql > qqfarm.sql
数一下一共有多少行
teliute@1-Teacher:~$ sed -n '$=' discuzx20140421.sql
506070
代码: 全选
find ./ -name "*.html" -exec ls {} \; >test.txt
代码: 全选
#!/bin/bash
for i in $(find . -name '9' -print)
do
rpl -Rde '\n' '<br />\n' $i
done