您的位置:首页 > 运维架构 > Shell

Shell常用

2015-09-21 18:33 507 查看
1、批量替换文本

sed -i '/^$/d' *.sql     #删除空行
sed -i 's/,//g' *.sql
sed -i 's/^M//g' *.sql       #需要替换^M 或
sed -i 's/\r//g' *.sql
sed -i 's/[ \t]*$//g' *.sql       #删除行尾空白
sed -i 's/$/,/g' *.sql
sed -i '1 s/,//g' *.sql  #第一行
sed -i '$ s/,//g' *.sql   #最后一行
tac test.txt  #反转内容


2、

sort: sort -t , -n +1 -2 -o b.avl ABD_VGOP2-R2.12-01_20090116_990001.AVL
sort -n -r -k 1 date.csv
cat log.csv | awk -F"_" '{print $2}' | cut -c0-8 | sort | uniq -c > day.csv


3、
awk -F'","' '{print $1"|||",$2"|||",$5"|||",$4"|||",$6"|||",$7"|||",$8"|||",$9"|||",$10"|||",$11"|||",$12"|||",$13"|||",$14"|||",$15}' i_20090314_VGOP2-R2.10-51302_01_001.dat > a.dat


替换:
sed 's/x01/,/g' a.dat>b.dat


4、转换字符集:
iconv -c -f GB18030 -t UTF-8 b.dat>c.dat


5、解压缩

unzip a.zip


6、批量替换文件名
rename 20120717 20120809 *.dat


7、
grep -i dwa_m04_pop_phy_ord_det_basic_sum_da *.tcl | awk -F ":" '{print $1}' | sort | uniq


8、杀hadoop进程
jps | grep -v Jps | awk '{print $1}' | xargs kill -9


9、远程杀进程
ssh slave1 "ps -ef | grep impala | grep -v grep | awk '{print $2}' | xargs kill -9"


10、时间加减

date +%Y%m%d         //显示前天年月日
date +%Y%m%d --date="+1 day"  //显示前一天的日期
date +%Y%m%d --date="-1 day"  //显示后一天的日期
date +%Y%m%d --date="-1 month"  //显示上一月的日期
date +%Y%m%d --date="+1 month"  //显示下一月的日期
date +%Y%m%d --date="-1 year"  //显示前一年的日期
date +%Y%m%d --date="+1 year"  //显示下一年的日期


11、
sed 's/1\x0109\>//g' b.csv      #去掉09结尾


12、
awk -F"\x01" 'OFS="\x01"{$NF="";$(NF-1)="";print}' b.csv |  sed 's/\x01$//g' > d.csv      #去掉最后两列


13、
find apps/ -name "*.sql" | xargs -i grep -i  Time_type {}  #查找文件并过滤
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: