| 注册
请输入搜索内容

热门搜索

Java Linux MySQL PHP JavaScript Hibernate jQuery Nginx
jopen
9年前发布

几个有用的shell脚本

(1)在shell下,操作hadoop目录,批量命名或删除,最终的命令sed的正则贪婪替换,看下面的脚本: 

  1. # 遍历 hadoop 目录下的文件名        for line in `hadoop fs -ls /user/d1 | gawk '{ print $8 }' `    do        #echo $line;           #将2级目录下的文件,移动到上一级    #hadoop fs -mv $line"/tmp_search_keywords_cate_stat/*"  $line ;    #删除2级目录    #hadoop fs   -rm -r  $line"/tmp_search_keywords_cate_stat"        for line2 in `hadoop fs -ls $line  | gawk '{ print $8 }'   `        do        echo $line2 ;        #将/tmp/a/b 使用sed变成/tmp/a_b 注意下面的正则式子        newname=`echo $line2 | sed -e 's/\(.*\)\//\1_/' ` ;            #echo $newname;        hadoop fs -mv $line2   $newname    done    done

(2)记录当前启动的进程id,并以后台方式挂起运行,脚本例子如下: 

[search@fse4 solr]$ cat start.sh     #下面的代码,将当前启动的上次启动的进程id记录下来    #方便关闭时,kill掉        #$$记录当前的进程id,$!记录上次启动的进程id    #nohup 是后台挂起线程方式运行,并将日志文件输出到nohup.out里面,进行监控     nohup java -jar start.jar  &> nohup.out &  echo $! >pid&        #echo $$ > pid    [search@fse4 solr]$




(3)linux下,将字符串日期,格式化为时间戳: 

[search@fsedump01sand tempshell]$ date -d '2015-12-01' +%s    1448899200