Shell常用

来源:互联网 发布:常州新一代造价软件 编辑:程序博客网 时间:2024/04/30 16:00

1、批量替换文本

sed -i '/^$/d' *.sql     #删除空行sed -i 's/,//g' *.sql sed -i 's/^M//g' *.sql       #需要替换^M 或sed -i 's/\r//g' *.sqlsed -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 {} #查找文件并过滤

0 0