备忘几个有用的shell脚本

2024-05-15 03:58

本文主要是介绍备忘几个有用的shell脚本,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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

Java代码 复制代码  收藏代码
  1. # 遍历 hadoop 目录下的文件名   
  2.   
  3. for line in `hadoop fs -ls /user/d1 | gawk '{ print $8 }' `   
  4. do  
  5.   
  6. #echo $line;      
  7.   
  8. #将2级目录下的文件,移动到上一级   
  9. #hadoop fs -mv $line"/tmp_search_keywords_cate_stat/*"  $line ;   
  10. #删除2级目录   
  11. #hadoop fs   -rm -r  $line"/tmp_search_keywords_cate_stat"  
  12.   
  13. for line2 in `hadoop fs -ls $line  | gawk '{ print $8 }'   `   
  14.   
  15. do  
  16.   
  17. echo $line2 ;   
  18.   
  19. #将/tmp/a/b 使用sed变成/tmp/a_b 注意下面的正则式子   
  20.   
  21. newname=`echo $line2 | sed -e 's/\(.*\)\//\1_/' ` ;   
  22.   
  23.   
  24. #echo $newname;   
  25.   
  26. hadoop fs -mv $line2   $newname   
  27. done   
  28. 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 }'   `doecho $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.   
  3. #下面的代码,将当前启动的上次启动的进程id记录下来   
  4. #方便关闭时,kill掉   
  5.   
  6. #$$记录当前的进程id,$!记录上次启动的进程id   
  7. #nohup 是后台挂起线程方式运行,并将日志文件输出到nohup.out里面,进行监控    
  8. nohup java -jar start.jar  &> nohup.out &  echo $! >pid&   
  9.   
  10. #echo $$ > pid   
  11. [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代码 复制代码  收藏代码
  1. [search@fsedump01sand tempshell]$ date -d '2015-12-01' +%s   
  2. 1448899200  
  3.    

                                    

这篇关于备忘几个有用的shell脚本的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/990739

相关文章

利用Python脚本实现批量将图片转换为WebP格式

《利用Python脚本实现批量将图片转换为WebP格式》Python语言的简洁语法和库支持使其成为图像处理的理想选择,本文将介绍如何利用Python实现批量将图片转换为WebP格式的脚本,WebP作为... 目录简介1. python在图像处理中的应用2. WebP格式的原理和优势2.1 WebP格式与传统

shell中set -u、set -x、set -e的使用

《shell中set-u、set-x、set-e的使用》本文主要介绍了shell中set-u、set-x、set-e的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参... 目录✅ 1. set -u:防止使用未定义变量 作用: 示例:❌ 报错示例输出:✅ 推荐使用场景:✅ 2. se

Linux脚本(shell)的使用方式

《Linux脚本(shell)的使用方式》:本文主要介绍Linux脚本(shell)的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录概述语法详解数学运算表达式Shell变量变量分类环境变量Shell内部变量自定义变量:定义、赋值自定义变量:引用、修改、删

Golang实现Redis分布式锁(Lua脚本+可重入+自动续期)

《Golang实现Redis分布式锁(Lua脚本+可重入+自动续期)》本文主要介绍了Golang分布式锁实现,采用Redis+Lua脚本确保原子性,持可重入和自动续期,用于防止超卖及重复下单,具有一定... 目录1 概念应用场景分布式锁必备特性2 思路分析宕机与过期防止误删keyLua保证原子性可重入锁自动

Linux实现简易版Shell的代码详解

《Linux实现简易版Shell的代码详解》本篇文章,我们将一起踏上一段有趣的旅程,仿照CentOS–Bash的工作流程,实现一个功能虽然简单,但足以让你深刻理解Shell工作原理的迷你Sh... 目录一、程序流程分析二、代码实现1. 打印命令行提示符2. 获取用户输入的命令行3. 命令行解析4. 执行命令

CentOS和Ubuntu系统使用shell脚本创建用户和设置密码

《CentOS和Ubuntu系统使用shell脚本创建用户和设置密码》在Linux系统中,你可以使用useradd命令来创建新用户,使用echo和chpasswd命令来设置密码,本文写了一个shell... 在linux系统中,你可以使用useradd命令来创建新用户,使用echo和chpasswd命令来设

redis中使用lua脚本的原理与基本使用详解

《redis中使用lua脚本的原理与基本使用详解》在Redis中使用Lua脚本可以实现原子性操作、减少网络开销以及提高执行效率,下面小编就来和大家详细介绍一下在redis中使用lua脚本的原理... 目录Redis 执行 Lua 脚本的原理基本使用方法使用EVAL命令执行 Lua 脚本使用EVALSHA命令

Java使用ANTLR4对Lua脚本语法校验详解

《Java使用ANTLR4对Lua脚本语法校验详解》ANTLR是一个强大的解析器生成器,用于读取、处理、执行或翻译结构化文本或二进制文件,下面就跟随小编一起看看Java如何使用ANTLR4对Lua脚本... 目录什么是ANTLR?第一个例子ANTLR4 的工作流程Lua脚本语法校验准备一个Lua Gramm

shell编程之函数与数组的使用详解

《shell编程之函数与数组的使用详解》:本文主要介绍shell编程之函数与数组的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录shell函数函数的用法俩个数求和系统资源监控并报警函数函数变量的作用范围函数的参数递归函数shell数组获取数组的长度读取某下的

SpringShell命令行之交互式Shell应用开发方式

《SpringShell命令行之交互式Shell应用开发方式》本文将深入探讨SpringShell的核心特性、实现方式及应用场景,帮助开发者掌握这一强大工具,具有很好的参考价值,希望对大家有所帮助,如... 目录引言一、Spring Shell概述二、创建命令类三、命令参数处理四、命令分组与帮助系统五、自定