sed -i "3s/.*/$table/g" conf/run.sql
table=t_sms_mt_log_`date +"%m"`? ? 本月俯邓,然后月初1號(hào)還是統(tǒng)計(jì)上月
date -d '-1 day' +"%m"? ? ? ? ? ? 本月,實(shí)實(shí)在在的本月
subject="每日驗(yàn)證碼下發(fā)數(shù)量統(tǒng)計(jì)_`date -d '-1 day' +"%m%d"`"
select * from t_sys_user where user_code='duanzz';
update? t_sys_user set terminal_id='13730000000' where user_code='duanzz';
echo "chen" >> file :把chen內(nèi)容追加到file文件中來,不覆蓋
echo "chen" > file :覆蓋了0挛瘛B崂!抒抬!
引用:${backup_DIR}/$DATE
#備份的變量:
backup_dir=/home/mysql/mysql_bak
date=`date -d "+%Y%m%d %H:%M:%d"`
yes_time=`date -d yesterday? "+%Y%m%d"`
mkdir -p /opt/chen$date\nailong? ? chen20160608nailong
date -d "2 day ago" +"%Y-%m-%d"? ? 昨天日期
date -d "1 week ago" +"%Y-%m-%d"? 上周日期
#數(shù)組
var[1]=123
var[2]=456
echo "$var[1],$var[2]"
#
&&:and? ? |:或者? !:非? ? command||comand? ||:前者命令為真,后者才能執(zhí)行映之,否則后者不執(zhí)行
comand&&comand 前者為真,后者執(zhí)行蜡坊,前者為假杠输,后者略過
sort:排序? wc:統(tǒng)計(jì)
cd /opt && ./1.txt? ? :逐次執(zhí)行的
#查找內(nèi)存使用情況
[root@db1 opt]# free -m|grep Mem|awk '{print "used\n----"};{print $3}'
used
----
985
【grep】
經(jīng)常跟cat使用:? cat /path/filename |grep [option]
grep -i 忽略大小寫
grep -v "^#"? file? :grep -v "^#" filename 輸出頭字符不為#的行
grep -o 只顯示匹配的字符串
grep --color 輸出時(shí),查找的關(guān)鍵字帶顏色秕衙。
【sed】
sed -n '5p' filename? 選擇第5行輸出
sed -n '/^\//p' /etc/fstab? sed出以/開頭的行并且print出來
sed '/^\/dev/d' fstab? 查找以/dev開頭的行刪除
sed 's/^L/#/g' fstab_bak? 把fstab_bak中L開頭的行蠢甲,把L換成#? 加g表示全局替換
sed -n '/^\//a hello' /etc/fstab? sed出以/開頭的行并且隨后追加一行:hello進(jìn)去并且print出來,a的作用是追加据忘,給文件追加內(nèi)容
sed -n '/^\//a hello \n chen' /etc/fstab 再添加一行chen 這是給后面添加行鹦牛,如果是前面添加? 把a(bǔ)換位i
sed '3r /etc/fstab' fstab_bak 在fstab_bak的第三行處添加etc/fstab的內(nèi)容進(jìn)來
sed '/tmp/w /etc/tmp.txt' /etc/fstab 講fstab有tmp的行保存在/etc/tmp.txt文件中來
sed '1,3d' /etc/fstab 刪除第一行和第三行
sed '1,+2d' /etc/fstab 刪除第一行以及以下兩行
sed -e '8/p' -e 's/30/50/g' 1.txt? 多個(gè)命令執(zhí)行
sed '/^F/=' 1.txt? 首字符為F的,并且輸出他 的行號(hào)
sed '/chen/s/x/X/g' passwd? 找到passwd中chen那一行勇吊,并且在那一行將x改為X
sed的后向引用曼追;待研究
如果想sed命令生效? 可加上-i
sed -f /path/script /etc/fstab? 去這個(gè)目錄選找script下面的所有腳本,對fstab進(jìn)行處理
sed -i 's/^[[:space:]]//g' /etc/fastab 去fstab下汉规,把行首的空格去掉? [[:space"]]+ 至少一個(gè)空格
【awk】
~? 匹配正則表達(dá)式? ? ? ? <? ? 小于? ? ==不包含礼殊,必須等于
~!不匹配正則表達(dá)式? ? ? !==? 不等于? &&兩邊都為真? |或者||? ? !非
awk '{print $1,$4}' fstab_bak? awk出第一列與第四列
awk '{print $1"\t"$4}' fstab_bak? awk出第一列與第四列,輸出時(shí)候晶伦,中間加上空格
awk '{if($1~/devpts/)}print{$2}' fstab_bak? 如果第一列出現(xiàn)devpts碟狞,這打印devpts的第二列內(nèi)容
awk '{if($1~/devpts/)}print{ "good"}' fstab_bak? 如果第一列出現(xiàn)devpts,這打印出good
awk '{if($1<$2)}{print $0}' fstab_bak 如果第一列中的數(shù)字小于第二列中的數(shù)字坝辫,輸出這一行
awk '{$1~/^...a/}' fstab_bak? 第一列中如果有第三字符為a的
awk '{$1~/tmpfs|proc/}' fstab_bak 第一列有tmpfs或者proc的篷就,輸出出來
awk -F "," '{print $2}' q.txt 以","為分隔符,找出第二段并且輸出
awk '{name=$1;belts=$4;if(belts ~/yellow/)print name "is belt" belts}' grant.txt
awk '{if($1~"chen")($1="chennailong");print $1}' 1.txt 第一列中有chen出現(xiàn)近忙,chen替換為chennailong
awk '{if($1~/chen/) {($1="chennailong");print $1}}' 1.txt 上條命令輸出所有竭业,多一對{}代表輸出只修改那一行
awk '{if($1~/chen/){print $0}}' 1.txt
awk '{sum+=$2};{print sum}' 1.txt 統(tǒng)計(jì)第二列的總和
ls -al | awk ' /^[^d]/ {print $9"\t"$5} {tot+=$5} END {print "total KB:"tot}' 統(tǒng)計(jì)此目錄下文件的文件名和長度,以及總和
awk 'BEGIN {split("123#456#789",myawk,"#")}' 給字段123#456#789切分及舍,以#為分隔符
awk -F! '{print substr($3,6,11)}' 1.txt 截取以未辆!為分隔符的第三段的第6字符以及包括第六字符往后11字符,如果只有6锯玛,那就是6個(gè)地附后往后這個(gè)行所有的了
awk 'sub(/chen/,"chen",$1)' 1.txt 截取第一段(默認(rèn)分隔符為空格)咐柜,含有chen的,替換為CHEN
awk 'BEGIN {ST="chen is a good boy"} END {print substr(ST,1,4)}' 1.txt 定義一個(gè)變量叫ST攘残,然后使用substr截取第一字符以及包括第一字符往后4字符
awk 'BEGIN {ST=$1} END {print substr($1,1,4)}' 1.txt
awk 'BEGIN {ST=$1} END {print substr($1,1,4)}' 1.txt |sed '/ST/p
num=$(awk -F! '{print substr($3,6,11)}' 1.txt)? 賦值拙友。。歼郭。 有點(diǎn)意外吧
echo $num
who |awk '{if($1~/root/);print $1"\t""welcome"}'
who |awk '{print $1"\t""welcome"}'
【wc】
wc -l | file 計(jì)算行數(shù)
wc -w | file 計(jì)算文件中單詞數(shù)
wc -c 遗契。。病曾。牍蜂。字符數(shù)
【cut】
cut -b 3 :取第三列(無分隔符)
cat 1.txt |cut -d! -f1 以!為分隔符泰涂,切出第一段輸出
cat 1.txt |cut -d! -f2-3 以鲫竞!為分隔符,切出第一段與第三段輸出
? ? ? ? ? cut -c1? cut -c1-5 按照字符切割
【find】
find /etc -perm 777 -print
find /etc -type |xargs -exec ls -al {}\;? -exec只用在find出文件時(shí)候使用
find /etc -user chen -print
find /etc -size +1G -print.
find /etc -mtime -n(距今多少天) +n(多少天前)
【sort】
sort passwd? 默認(rèn)排序
sort -t passwd
sort -t: -k1 passwd 按照:分隔符排序逼蒙,k1是表示第一域从绘。表示按照用戶名排序了。
sort -n -k 2 這是按照數(shù)字排序是牢,表示按照第二列的數(shù)字排序
cat access.log |awk '{print $1}' |sort |uniq -c |sort -n -r |head -n 10
awk '{print $1}' access.log|sort | uniq -c |sort -n -k 1 -r|more
【head】
head -n 10 一般經(jīng)過排序后顶考,統(tǒng)計(jì)選取前10 或者 head -10
tail -n 10 統(tǒng)計(jì)后10? tail -1000 acess.log
【uniq】
uniq -c 答應(yīng)每一重復(fù)行的次數(shù):基本上是統(tǒng)計(jì)ip什么的訪問次數(shù)
uniq -d 只顯示有重復(fù)數(shù)據(jù)行,并且重復(fù)行只顯示其中一行
【腳本練習(xí)】-------【if else判斷】
#!/bin/bash
echo "give Y is ok; gei N is no"
read choose
echo "your action is $choose"
if [ "$choose" == "Y" ]
then
? ? echo "your choose is yes,thanks"
elif [ "$choose" == "N" ]
then
? ? echo "your choose is no,we are sorry to you"
else
? ? echo "take your answer in [Y]or[N]"
fi
運(yùn)維QQ交流群:171586999