Linux Shell:根据指定的文件列表 或 map配置,进行文件位置转移
读取配置文件,进行文件位置转移
在whenb.csv中指定了需要从/home/root/cf/下移除到/home/root/cf_wh/下文件列表,whenb.csv中包含记录如下:
enb-
enb-
enb-
....
具体实现的shell脚本:
#!/bin/sh
enbArr=()
idx=
for line in `cat whenb.csv`
do
enbArr[$idx]=$line
let idx=$idx+
done for data in ${enbArr[@]}
do
$('mv /home/root/cf/'$data'.txt /home/root/cf_wh/'$data'.txt')
done
按照map配置,进行文件上传hdfs
配置map(key[path],value[文件名称])
#!/bin/sh
declare -A fLibMap
fLibMap["dx_distri_0"]="1068705,1068795,1068882,1068957,1069682,1092606,1092743,1092840"
fLibMap["dx_distri_1"]="1068706,1068796,1068883,1068958,1069683,1092607,1092744,1092841"
fLibMap["dx_distri_2"]="1068707,1068797,1068885,1068960,1069710,1092608,1092748,1092844"
fLibMap["dx_distri_3"]="1068708,1068798,1068886,1068963,1069717,1092609,1092749,1092845"
fLibMap["dx_distri_4"]="1068709,1068799,1068888,1068964,1069718,1092610,1092750,1092846"
fLibMap["dx_distri_5"]="1068710,1068803,1068889,1068966,1069721,1092611,1092751,1092847"
fLibMap["dx_distri_6"]="1068711,1068805,1068890,1068967,1069727,1092612,1092752,1092848"
fLibMap["dx_distri_7"]="1068712,1068806,1068892,1068968,1092513,1092613,1092753,1092849"
fLibMap["dx_distri_8"]="1068713,1068807,1068893,1069015,1092517,1092614,1092755,1092850"
fLibMap["dx_distri_9"]="1068714,1068808,1068894,1069023,1092518,1092615,1092756,1092851" for key in ${!fLibMap[@]};do
echo $key
hadoop fs -mkdir /user/dx/config/hb/flibTopic/$key/
fbEnbsStr=${fLibMap[$key]}
OLD_IFS="$IFS"
IFS=","
fbEnbsArr=($fbEnbsStr)
IFS="$OLD_IFS" for fbEnb in ${fbEnbsArr[@]};do
#hadoop fs -put /home/dx/oozie_signal/spark/flib/.txt /user/dx/config/hb/flibTopic/ltemr_uemr_distri_2/
hadoop fs -put /home/dx/oozie_signal/spark/flib/$fbEnb.txt hdfs://spcluster/user/dx/config/hb/flibTopic/fingerTopic/$key/
echo 'hadoop fs -put /home/dx/oozie_signal/spark/flib/'$fbEnb'.txt hdfs://spcluster/user/dx/config/hb/flibTopic/'$key'/'
done & #经过测试,这种方式也可以实现 $key 的安全性、一致性。
done # (未测试,担心安全性)可以测试线,这个循环也采用并行是否分发性能有提高。
Linux Shell:根据指定的文件列表 或 map配置,进行文件位置转移的更多相关文章
- linux shell 删除指定文件夹下面 名称不包含指定字符的文件
find /app/jenkins/jenkins/jobs/scam/* ! -name config.xml | xargs rm -rf 删除/app/jenkins/jenkins/jobs/ ...
- linux shell 脚本攻略学习10--生成任意大小的文件和文本文件的交集与差集详解
一.生成任意大小的文件(dd命令): 举例: amosli@amosli-pc:~/learn/example$ ; + records in + records out bytes ( MB/s a ...
- linux下查找指定时间内修改过的或新建的文件
1.简单命令 # find -type f \( -newermt '2017-04-19 00:00' -a -not -newermt '2017-04-27 23:59' \) 2.简单实现(参 ...
- Linux下搭建Oracle11g RAC(3)----创建用户及配置相关文件
配置11gR2 RAC需要安装Oracle Grid Infrastructure软件.Oracle数据库软件,其中Grid软件等同于Oracle 10g的Clusterware集群件.Oracle建 ...
- sublime text 3 文件列表忽略特定格式的文件
Preferences->Settings ,编辑相关代码,注意JSON格式: 排除特定目录,使用:"folder_exclude_patterns" 排除特定文件,使用:& ...
- 查找存在某字符的文件列表,不包括svn文件
find . ! -wholename '*.svn*' -print | xargs grep "img" | awk -F ':.' '{print $1}' | uniq
- Java读取Properties文件 Java加载配置Properties文件
static{ Properties prop = new Properties(); prop.load(Thread.currentThread().getContextClassLoader() ...
- Linux下查找指定日期的文件
一.背景 Linux服务器的一个目录里,每天产生海量的文件.为了防止磁盘被写满. 决定每天删除部分老文件.OK,问题来了,如何过滤出指定日期的文件? 二.强大的Linux 一行代码搞定: ls --f ...
- Linux Shell常用shell命令
Linux Shell常用shell命令 一.文件.目录操作命令 1.ls命令 功能:显示文件和目录的信息 ls 以默认方式显示当前目录文件列表 ls -a 显示所有文件包括隐藏文件 ls -l 显示 ...
随机推荐
- iOS音频播放 (五):AudioQueue
码农人生 ChengYin's coding life 主页 Blog 分类 Categories 归档 Archives 关于 About Weibo GitHub RSS Where there ...
- TF-IDF词频逆文档频率算法
一.简介 1.RF-IDF[term frequency-inverse document frequency]是一种用于检索与探究的常用加权技术. 2.TF-IDF是一种统计方法,用于评估一个词对于 ...
- sqlserver 保存 立方米(m³)
转载来源:https://bbs.csdn.net/topics/370186797 解决方案:在前面加 N,如:N'm³' 案例: create table tbn(name nvarchar(10 ...
- 二十六、聊聊mysql如何实现分布式锁
分布式锁的功能 分布式锁使用者位于不同的机器中,锁获取成功之后,才可以对共享资源进行操作 锁具有重入的功能:即一个使用者可以多次获取某个锁 获取锁有超时的功能:即在指定的时间内去尝试获取锁,超过了超时 ...
- mysql多实例启动过程
单机多实例,是基本的测试环境 01.myslq提供单机管理多节点 02.启动mysql多实例 03.观察进程
- windows下控制台程序实现窗口显示
windows下实现窗口显示,如果限定是C/C++语言,并且是原生Windows支持,需要使用GDI或GDI+.一般是在Visual Studio里新建Win32应用程序,而不是Win32 conso ...
- CentOS7安装MySQL5.7及Tomcat8.5
在CentOS7服务器上部署FR项目应用 一.安装CentOS-7_x86_64 1.CentOS7:带GUI的服务器(FTP服务器.JAVA平台.兼容性程序库.开发工具.安全性工具.系统管理工具): ...
- Docker基础用法篇
Docker基础用法篇 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.安装docker 1>.依赖的基础环境 64 bits CPU Linux Kerner 3.10+ ...
- Tomcat+Nginx+Memcached综合案例
Tomcat+Nginx+Memcached综合案例 说明 通过Nginx解析静态页面并将动态负载均衡调度给后面的多个Tomcat,Tomcat解析java动态程序. 由于http是无状态的协议,你访 ...
- C++学习(3)——指针
1. 指针所占内存空间 在32位操作系统下,占用4个字节,64位下占8个字节 2. 空指针与野指针 空指针:指针变量指向内存中编号为0的空间 用途:初始化指针变量 注意:空指针指向的内存量是不可以 ...