备忘几个有用的shell脚本

- 日理万妓 2022-08-05 13:22 273阅读 0赞

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

Java代码 复制代码 收藏代码spinner.gif

  1. # 遍历 hadoop 目录下的文件名
  2. for line in `hadoop fs -ls /user/d1 | gawk ‘{ print $8 }‘ `
  3. do
  4. #echo $line;
  5. #将2级目录下的文件,移动到上一级
  6. #hadoop fs -mv $line”/tmp_search_keywords_cate_stat/*“ $line ;
  7. #删除2级目录
  8. #hadoop fs -rm -r $line”/tmp_search_keywords_cate_stat”
  9. for line2 in `hadoop fs -ls $line | gawk ‘{ print $8 }‘ `
  10. do
  11. echo $line2 ;
  12. #将/tmp/a/b 使用sed变成/tmp/a_b 注意下面的正则式子
  13. newname=`echo $line2 | sed -e ‘s/\(.*\)\//\1_/‘ ` ;
  14. #echo $newname;
  15. hadoop fs -mv $line2 $newname
  16. done
  17. done

    遍历 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_/' ;

  1. #echo $newname;
  2. hadoop fs -mv $line2 $newname
  3. done
  4. done

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

Java代码 复制代码 收藏代码spinner.gif

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

    [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下,将字符串日期,格式化为时间戳:

Java代码 复制代码 收藏代码spinner.gif

  1. [search@fsedump01sand tempshell]$ date -d ‘2015-12-01’ +%s
  2. 1448899200

发表评论

表情:
评论列表 (有 0 条评论,273人围观)

还没有评论,来说两句吧...

相关阅读

    相关 android

    1.关于华为荣耀收链接androidStudio调试的问题    在手机设置中找到关于手机,点击手机版本号,会提示还有几次开启开发人员选项,然后返回设置中找到开发人员选项,打

    相关 近期

    1. [互联网项目中mysql应该选什么事务隔离级别][mysql] [https://www.cnblogs.com/rjzheng/p/10510174.html]