备忘几个有用的shell脚本

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

Java代码  

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

#echo $newname;

hadoop fs -mv $line2   $newname
done
done

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

Java代码  

  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]$
[[email protected] solr]$ cat start.sh 

#下面的代码,将当前启动的上次启动的进程id记录下来
#方便关闭时,kill掉

#$$记录当前的进程id,$!记录上次启动的进程id
#nohup 是后台挂起线程方式运行,并将日志文件输出到nohup.out里面,进行监控
nohup java -jar start.jar  &> nohup.out &  echo $! >pid&

#echo $$ > pid
[[email protected] solr]$ 

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

Java代码  

  1. [search@fsedump01sand tempshell]$ date -d ‘2015-12-01‘ +%s
  2. 1448899200
				
时间: 2024-10-28 15:15:26

备忘几个有用的shell脚本的相关文章

一个有用的shell脚本

#!/bin/bash #if [ $1 -eq null ]; then # echo "please input params1!" # exit #fi #if [ $2 -eq null ]; then # echo "please input params2!" # exit #fi # type , $1 { scp, ssh }, src $2, dst $3 user=hadoop if [ "$3" != ""

oracle   rman冷备shell脚本

oracle rman冷备shell脚本(我这里是全备份,创建了2个通道c1.c2)可以在这基础上更改 文本: #!/bin/bash #Author:wangergui       Email:[email protected]          Date:2016-08-17 #Function:oracle_rman_cold_backup ( Full backup ) [ "${USER}" == "oracle" ] || exit 2 [ ! -d $

基于mysqldump编写自动全备增备的shell脚本

基于mysqldump编写自动全备增备的shell脚本 在线上MySQL数据库备份分为全备和增备,而xtrabackup备份已经支持了增量备份了,但是mysqldump就不支持增量备份,所以我们需要写一个shell脚本对于mysqldump来自动全备和增备. 一下脚本要求我们做一个全备的策略,然后如何做增量备份,自动完成每天执行增量备份,每个星期天执行全备.备份完删除二进制文件,减低磁盘压力. [[email protected] ~]# cat mysqlback.sh #!/bin/bash

shell脚本应用《十》查看多个系统CPU,指定的进程CPU,主备机,内存使用情况

需求:查看多台机器看多个系统CPU,指定的进程CPU,主备机状态,内存使用情况:并在一台机器上显示: 第一:先设置ssh免密码登录 ssh-keygen -t rsa P'' -f ~/.ssh/id_rsa 不提示直接生成秘钥ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected] 第二:查询脚本,分别拷贝到各个机器上 scp /usr/local/src/cpu_men.sh [email protected]: /usr/local/src/脚本

shell中${##%%}代表啥,备忘

#!/bin/bash A=aigo.goto.aigo.goto echo ${A#*go} echo ${A##*go} echo ${A%.*} echo ${A%%go*} 执行结果 .goto.aigo.goto to aigo.goto.aigo ai 备忘如下: #*字串 --从左向右将变量A中最先出现的"字串"(最靠左)以及其左边的一切都去掉(因为有个*) ##*字串 --从左向右将变量A中最后出现的"字串"(最靠右)以及其左边的一切都去掉 %字串*

linux下常用命令备忘

转自:Linux 命令集锦 linux下查看监听端口对应的进程 # lsof -i:9000 # lsof -Pnl +M -i4 如果退格键变成了:"^h". 终端连接unix删除退格键,按住CTL键同时按delete Linux搜索 # find / -name "xxx.conf" 查看linux是32位还是64位的命令 #file /sbin/init #getconf LONG_BIT #getconf -a 在Linux和Windows下都可以用nslo

[转]Windows环境下尝试安装并配置PHP PEAR备忘

转自:http://wangye.org/blog/archives/266/ 什么是PEAR 来自百度百科:PEAR 是PHP扩展与应用库(the PHP Extension and Application Repository)的缩写.它是一个PHP扩展及应用的一个代码仓库,简单地说,PEAR之于PHP就像是CPAN(Comprehensive Perl Archive Network)之于Perl. 由此可见PEAR是PHP代码的仓库,在这里可以找到很多有用的代码,避免我们重复写一些功能,

shell脚本小实例

本文收集了一堆的shell脚本技巧,我说过,我写博客主要是作一些学习笔记,方便自己查阅,所以,我会搞出这么一篇文章,也没有什么不可理解的.关于这些技巧的出处,诶,我也忘了,可能来自theunixschool. commandlinefu.酷勤网和igigo.net,当然了,也有部分是我自己的经验心得,管他呢,进了我的脑子就是我的了. 0. shell 调试 复制代码代码如下: sh -x somefile.sh 在somefile.sh 文件里加上set+x set-x1. 用 && ||

oracle下 启动subversion命令 及 oracle相关服务启动备忘

linux shell下  svnserve - d -r + 目录   例如:svnserve -d -r /svn 启动 svn服务. 访问svn://192.168.0.120/kjcg 测试. 启动oracle: 一.如何启动数据库实例 1.进入到sqlplus启动实例 [[email protected] ~]$ su - oracle --“切换到oracle用户” 2. Password: [[email protected] ~]$ lsnrctl start  --“打开监听”