
shell编程工作
qq_43193797
github:https://github.com/yanjie666
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
时间维度表生成脚本
# !/bin/bashstart_date=$1end_date=$2temp_date_full=`date -d $start_date +%F`temp_start_second=`date -d $start_date +%s`temp_end_second=`date -d $end_date +%s`min=1max=$[($temp_end_second-$temp_start_second)/(24*60*60)+1]cat /dev/null >...原创 2020-12-16 17:31:34 · 375 阅读 · 0 评论 -
统计指定路径hive表存量
etldate=(20201111)etlhour=(00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23)sum=0for date in ${etldate[@]}do for hour in ${etlhour[@]} do count=`hadoop fs -ls /user/hive/databases/mydata/data_date=$date$hour | awk -F ' ' '原创 2020-11-23 13:53:18 · 188 阅读 · 0 评论 -
grep命令简单运用
1.使用grep查看conf/conf.xml文件包含 ”#“的文本grep "#" conf/conf.xml2.使用grep查看conf/conf.xml文件不包含 ”#“的文本grep -v "#" conf/conf.xml原创 2020-07-12 17:37:03 · 219 阅读 · 0 评论 -
shell编写除了某几个字段,选择全部字段的脚本
代码如下:除了rn字段和data_date字段,选择全部字段#数据加载进表function loadData() { echo "start loadData" columns='`(rn|data_date)?+.+`' beeline -n datasrv -e " set hive.support.quoted.identifiers=None; insert...原创 2020-04-26 16:43:21 · 324 阅读 · 0 评论 -
shell获取hive最新分区的方法
function etldata() {echo “start etldata”data_date=""for fn in `beeline -n datasrv -e "show partitions ad.表名"`do data_date=${fn} data_date=`echo $data_date | cut -d '=' -f 2`doneecho $da...原创 2020-04-15 14:04:26 · 1013 阅读 · 0 评论 -
利用azkaban编写shell脚本实现hive多个时间分区的数据修复功能
模拟代码如下:方式一:#!/bin/bashetldate=(20190404)etlhour=(13)for date in ${etldate[@]}dofor hour in ${etlhour[@]}doecho $date$hour./ad_nobid_data_b.sh $date$hourdonedone方式二:etldate=(201910...原创 2019-10-30 15:27:54 · 604 阅读 · 0 评论 -
Shell #的用法, ${#arrayname[@]}获取数组元素的个数, $arrayname[index]获取属于一个元素 获取数组中的所有元素${arr...
在shell中$#表示输入参数的个数;在shell中#用来获取一些和长度,个数相关的信息:shell中定义一个数组: arrayname=(value1 value2 ... valuen);获取数组元素的个数: 那么${#arrayname[@]}表示数组中元素的个数...转载 2019-09-17 14:46:04 · 2954 阅读 · 0 评论 -
ll | wc -l的陷阱
在平时我们可能经常使用ls和wc命令来统计某个文件夹下指定类型文件的个数。今天在使用的时候发现ls和ll出来的结果不一样。dwapp@pttest1:/home/dwapp/joe.wangh/test>ll -h | wc -l4dwapp@pttest1:/home/dwapp/joe.wangh/test>ls | wc -l3dwapp@pttest1:/home/...原创 2019-08-21 17:12:20 · 892 阅读 · 0 评论 -
linux中的export和source的用法
总结export修饰的变量在当前进程及其子进程中有效source执行过的脚本,会将脚本中定义的变量放在当前进程中这两种有什么区别呢?export B=2,会对自己所在的shell进程及其子进程有效,shell进程即linux窗口A=1,只对自己所在的shell进程有效。我们来看几个例子: 案例一 注意:需要给文件更改执行权限chmod 777...原创 2019-06-05 19:42:38 · 233 阅读 · 0 评论 -
将hdfs上的文件下载到linux系统再利用lftp上传到远程服务器
currtDate=`date "+%H%M%S"`ftpDest=${ftpPath}/${srvDate}${currtDate}function ftp() {echo "ftp start"# clear path inform -rf ${localTmpFile}mkdir -p ${localTmpFile}#Upload to serverlftp -...原创 2019-06-05 18:17:58 · 872 阅读 · 0 评论 -
shell 数组遍历的3种方法
shell数组的基本知识请参阅我的上一篇博客shell 数组首先创建一个数组 array=( A B C D 1 2 3 4)1.标准的for循环for(( i=0;i<${#array[@]};i++)) do#${#array[@]}获取数组长度用于循环echo ${array[i]};done;2.for … in遍历(不带数组下标):for ele...原创 2019-06-05 18:04:03 · 1008 阅读 · 0 评论 -
lftp使用详解
刚进入linux殿堂的lftp的我,决定好好将此命令的资料整理如下,以便学习...... 强大的lftp介绍lftp 是一个功能强大的下载工具,它支持访问文件的协议: ftp, ftps, http, https, hftp, fish.(其中ftps和https需要在编译的时候包含opens...原创 2019-06-05 18:01:27 · 1361 阅读 · 0 评论 -
利用shell遍历Hadoop某个路径文件夹中所有文件并放入数组中
具体代码如下:fileList=("")function getfileList() {#get data from hdfsi=0str="adx_mapping_imei"for fn in `hadoop fs -ls ${hfsPath}`do if [[ ${fn} =~ $str ]];then echo "file=>"${fn} ch...原创 2019-06-05 17:33:51 · 2465 阅读 · 0 评论