公司让我做一个看一下在优化的程序和比原来的程序快多少,但是文件还在运行的服务器上,我需要把用到的文件复制到测试服务器上去。但是测试服务器上有的,目录不全,会导致scp出错。就发生了以下的故事。

首选我要查看每个程序用到的文件,然后我整理成了一个TXT

scp -r /DWH3/LV3/TRIALFL_TBL/* creat@10.100.2.138:/DWH3/LV3/TRIALFL_TBL
1
scp /DWH3/LV3/URE/HANBAI_DAYLIST/2016032*.gz creat@10.100.2.138:/DWH3/LV3/URE/HANBAI_DAYLIST
1.1
scp /DWH3/TBL/TEN_KYAKURITU.RIREKI creat@10.100.2.138:/DWH3/TBL/
scp /DWH3/TBL/ZEIRITU creat@10.100.2.138:/DWH3/TBL/
scp /DWH3/TBL/JAN_TOUROKUDAY creat@10.100.2.138:/DWH3/TBL/
scp /DWH3/TBL/BUNDLEID_PRODUCTCD_IRISU creat@10.100.2.138:/DWH3/TBL/
scp /DWH3/LV3/URE/HANBAI_MEISAI/2016032*.gz creat@10.100.2.138:/DWH3/LV3/URE/HANBAI_MEISAI/
scp /DWH3/LV3/URE/HANBAI_HEADER/2016032*.gz creat@10.100.2.138:/DWH3/LV3/URE/HANBAI_HEADER/ 2
同1
2.1
同1.1.1
同1.1.2
同1.1.3
同1.1.4
同1.1.5
同1.1.6 3
同1
3.1
同1.1.1
同1.1.2
同1.1.3
同1.1.4
同1.1.5
同1.1.6 4~6 同一 7
scp /DWH3/LV3/URE/HANBAI_WEEKLIST/2016032*.gz creat@10.100.2.138:/DWH3/LV3/URE/HANBAI_WEEKLIST/
7.1
scp /DWH/LV3/URE/HIBETU_SUBSEGMENT_KYAKUSU_CHOKUEI/2016032*.gz creat@10.100.2.138:/DWH/LV3/URE/HIBETU_SUBSEGMENT_KYAKUSU_CHOKUEI/
scp /DWH/LV3/URE/HIBETU_SUBSEGMENT_KYAKUSU_TENANT/2016032*.gz creat@10.100.2.138:/DWH/LV3/URE/HIBETU_SUBSEGMENT_KYAKUSU_TENANT/ 8
同7
8.1
scp /DWH/LV3/URE/HIBETU_SEGMENT_KYAKUSU_CHOKUEI/2016032*.gz creat@10.100.2.138:/DWH/LV3/URE/HIBETU_SEGMENT_KYAKUSU_CHOKUEI/
scp /DWH/LV3/URE/HIBETU_SEGMENT_KYAKUSU_TENANT/2016032*.gz creat@10.100.2.138:/DWH/LV3/URE/HIBETU_SEGMENT_KYAKUSU_TENANT/ 9
同7
9.1
scp /DWH/LV3/URE/HIBETU_SUBCATEGORY_KYAKUSU_CHOKUEI/2016032*.gz creat@10.100.2.138:/DWH/LV3/URE/HIBETU_SUBCATEGORY_KYAKUSU_CHOKUEI/
scp /DWH/LV3/URE/HIBETU_SUBCATEGORY_KYAKUSU_TENANT/2016032*.gz creat@10.100.2.138:/DWH/LV3/URE/HIBETU_SUBCATEGORY_KYAKUSU_TENANT/ 10
同7
10.1
scp /DWH/LV3/URE/HIBETU_CATEGORY_KYAKUSU_CHOKUEI/2016032*.gz creat@10.100.2.138:/DWH/LV3/URE/HIBETU_CATEGORY_KYAKUSU_CHOKUEI/
scp /DWH/LV3/URE/HIBETU_CATEGORY_KYAKUSU_TENANT/2016032*.gz creat@10.100.2.138:/DWH/LV3/URE/HIBETU_CATEGORY_KYAKUSU_TENANT/ 11
同7
11.1
scp /DWH/LV3/URE/HIBETU_ZONE_KYAKUSU_CHOKUEI/2016032*.gz creat@10.100.2.138:/DWH/LV3/URE/HIBETU_ZONE_KYAKUSU_CHOKUEI/
scp /DWH/LV3/URE/HIBETU_ZONE_KYAKUSU_TENANT/2016032*.gz creat@10.100.2.138:/DWH/LV3/URE/HIBETU_ZONE_KYAKUSU_TENANT/ 12
同7
12.1
scp /DWH/LV3/URE/HIBETU_FL_KYAKUSU_CHOKUEI/2016032*.gz creat@10.100.2.138:/DWH/LV3/URE/HIBETU_FL_KYAKUSU_CHOKUEI/
scp /DWH/LV3/URE/HIBETU_FL_KYAKUSU_TENANT/2016032*.gz creat@10.100.2.138:/DWH/LV3/URE/HIBETU_FL_KYAKUSU_TENANT/ 13
scp /DWH3/LV3/URE/HANBAI_MONTHLIST/2016032*.gz creat@10.100.2.138:/DWH3/LV3/URE/HANBAI_MONTHLIST/
13.1
同7.1 14
同13
14.1
同8.1 15
同13
15.1
同9.1 16
同13
16.1
同10.1 17
同13
17.1
同11 18
同13
18.1
同12

一共十八个程序,暂时把这个文件保存成c

首先提取scp

cat c | sed -e '/^[^s]/d;/^$/d'

scp -r /DWH3/LV3/TRIALFL_TBL/* creat@10.100.2.138:/DWH3/LV3/TRIALFL_TBL
scp /DWH3/LV3/URE/HANBAI_DAYLIST/2016032*.gz creat@10.100.2.138:/DWH3/LV3/URE/HANBAI_DAYLIST
scp /DWH3/TBL/TEN_KYAKURITU.RIREKI creat@10.100.2.138:/DWH3/TBL/
scp /DWH3/TBL/ZEIRITU creat@10.100.2.138:/DWH3/TBL/
scp /DWH3/TBL/JAN_TOUROKUDAY creat@10.100.2.138:/DWH3/TBL/
scp /DWH3/TBL/BUNDLEID_PRODUCTCD_IRISU creat@10.100.2.138:/DWH3/TBL/
scp /DWH3/LV3/URE/HANBAI_MEISAI/2016032*.gz creat@10.100.2.138:/DWH3/LV3/URE/HANBAI_MEISAI/
scp /DWH3/LV3/URE/HANBAI_HEADER/2016032*.gz creat@10.100.2.138:/DWH3/LV3/URE/HANBAI_HEADER/
scp /DWH3/LV3/URE/HANBAI_WEEKLIST/2016032*.gz creat@10.100.2.138:/DWH3/LV3/URE/HANBAI_WEEKLIST/
scp /DWH/LV3/URE/HIBETU_SUBSEGMENT_KYAKUSU_CHOKUEI/2016032*.gz creat@10.100.2.138:/DWH/LV3/URE/HIBETU_SUBSEGMENT_KYAKUSU_CHOKUEI/
scp /DWH/LV3/URE/HIBETU_SUBSEGMENT_KYAKUSU_TENANT/2016032*.gz creat@10.100.2.138:/DWH/LV3/URE/HIBETU_SUBSEGMENT_KYAKUSU_TENANT/
scp /DWH/LV3/URE/HIBETU_SEGMENT_KYAKUSU_CHOKUEI/2016032*.gz creat@10.100.2.138:/DWH/LV3/URE/HIBETU_SEGMENT_KYAKUSU_CHOKUEI/
scp /DWH/LV3/URE/HIBETU_SEGMENT_KYAKUSU_TENANT/2016032*.gz creat@10.100.2.138:/DWH/LV3/URE/HIBETU_SEGMENT_KYAKUSU_TENANT/
scp /DWH/LV3/URE/HIBETU_SUBCATEGORY_KYAKUSU_CHOKUEI/2016032*.gz creat@10.100.2.138:/DWH/LV3/URE/HIBETU_SUBCATEGORY_KYAKUSU_CHOKUEI/
scp /DWH/LV3/URE/HIBETU_SUBCATEGORY_KYAKUSU_TENANT/2016032*.gz creat@10.100.2.138:/DWH/LV3/URE/HIBETU_SUBCATEGORY_KYAKUSU_TENANT/
scp /DWH/LV3/URE/HIBETU_CATEGORY_KYAKUSU_CHOKUEI/2016032*.gz creat@10.100.2.138:/DWH/LV3/URE/HIBETU_CATEGORY_KYAKUSU_CHOKUEI/
scp /DWH/LV3/URE/HIBETU_CATEGORY_KYAKUSU_TENANT/2016032*.gz creat@10.100.2.138:/DWH/LV3/URE/HIBETU_CATEGORY_KYAKUSU_TENANT/
scp /DWH/LV3/URE/HIBETU_ZONE_KYAKUSU_CHOKUEI/2016032*.gz creat@10.100.2.138:/DWH/LV3/URE/HIBETU_ZONE_KYAKUSU_CHOKUEI/
scp /DWH/LV3/URE/HIBETU_ZONE_KYAKUSU_TENANT/2016032*.gz creat@10.100.2.138:/DWH/LV3/URE/HIBETU_ZONE_KYAKUSU_TENANT/
scp /DWH/LV3/URE/HIBETU_FL_KYAKUSU_CHOKUEI/2016032*.gz creat@10.100.2.138:/DWH/LV3/URE/HIBETU_FL_KYAKUSU_CHOKUEI/
scp /DWH/LV3/URE/HIBETU_FL_KYAKUSU_TENANT/2016032*.gz creat@10.100.2.138:/DWH/LV3/URE/HIBETU_FL_KYAKUSU_TENANT/
scp /DWH3/LV3/URE/HANBAI_MONTHLIST/2016032*.gz creat@10.100.2.138:/DWH3/LV3/URE/HANBAI_MONTHLIST/

然后提取出在目标服务器运行shell

cat c | sed -e '/^[^s]/d;/^$/d' |sed -n 's/.*creat@10.100.2.138:\S//p' |uniq |sed 's/^DWH/mkdir -p &/g'

mkdir -p DWH3/LV3/TRIALFL_TBL
mkdir -p DWH3/LV3/URE/HANBAI_DAYLIST
mkdir -p DWH3/TBL/
mkdir -p DWH3/LV3/URE/HANBAI_MEISAI/
mkdir -p DWH3/LV3/URE/HANBAI_HEADER/
mkdir -p DWH3/LV3/URE/HANBAI_WEEKLIST/
mkdir -p DWH/LV3/URE/HIBETU_SUBSEGMENT_KYAKUSU_CHOKUEI/
mkdir -p DWH/LV3/URE/HIBETU_SUBSEGMENT_KYAKUSU_TENANT/
mkdir -p DWH/LV3/URE/HIBETU_SEGMENT_KYAKUSU_CHOKUEI/
mkdir -p DWH/LV3/URE/HIBETU_SEGMENT_KYAKUSU_TENANT/
mkdir -p DWH/LV3/URE/HIBETU_SUBCATEGORY_KYAKUSU_CHOKUEI/
mkdir -p DWH/LV3/URE/HIBETU_SUBCATEGORY_KYAKUSU_TENANT/
mkdir -p DWH/LV3/URE/HIBETU_CATEGORY_KYAKUSU_CHOKUEI/
mkdir -p DWH/LV3/URE/HIBETU_CATEGORY_KYAKUSU_TENANT/
mkdir -p DWH/LV3/URE/HIBETU_ZONE_KYAKUSU_CHOKUEI/
mkdir -p DWH/LV3/URE/HIBETU_ZONE_KYAKUSU_TENANT/
mkdir -p DWH/LV3/URE/HIBETU_FL_KYAKUSU_CHOKUEI/
mkdir -p DWH/LV3/URE/HIBETU_FL_KYAKUSU_TENANT/

大功告成

关于sed的应用的更多相关文章

  1. sed的应用

    h3 { color: rgb(255, 255, 255); background-color: rgb(30,144,255); padding: 3px; margin: 10px 0px } ...

  2. 文本处理三剑客之sed命令

    第十八章.文本处理三剑客之sed命令 目录 sed介绍 sed命令常用选项 sed常用编辑命令 sed使用示例 sed高级语法 18.1.sed简介 sed全名stream editor,流编辑器,s ...

  3. 6-2 sed 命令

    1. sed : stream editor,流编辑器 是处理纯ASICC纯文本,按行琢行操作的. 编辑器有两种,行编辑器和全屏编辑器 sed:默认不编辑原文件,仅对模式空间中的数据做处理,而后.处理 ...

  4. 基本shell编程【3】- 常用的工具awk\sed\sort\uniq\od

    awk awk是个很好用的东西,大量使用在linux系统分析的结果展示处理上.并且可以使用管道, input | awk ''  | output 1.首先要知道形式 awk 'command' fi ...

  5. sed awk grep三剑客常用

    sed的常用用法: awk的常用用法: grep的常用用法: 除了列出符合行之外,并且列出后10行. grep -A 10 Exception kzfinance-front.log 除了列出符合行之 ...

  6. linux shell 用sed命令在文本的行尾或行首添加字符

    转自 http://www.cnblogs.com/aaronwxb/archive/2011/08/19/2145364.html 昨天写一个脚本花了一天的2/3的时间,而且大部分时间都耗在了sed ...

  7. Sed、Awk单行脚本快速参考

    文本间隔: # 在每一行后面增加一空行 sed G awk '{printf("%s\n\n",$0)}' # 将原来的所有空行删除并在每一行后面增加一空行. # 这样在输出的文本 ...

  8. sed awk 样例

    sed [options] '[action]' filename options: -n:一般sed命令会把所有数据都输出到屏幕,如果加入此选项,则只会把经过sed命令处理的行输出到屏幕. -e:允 ...

  9. linux sed命令详解

    简介 sed 是一种在线编辑器,它一次处理一行内容.处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的 ...

  10. sed命令详解

    搜索 纠正错误  添加实例 sed 功能强大的流式文本编辑器 补充说明 sed 是一种流编辑器,它是文本处理中非常中的工具,能够完美的配合正则表达式使用,功能不同凡响.处理时,把当前处理的行存储在临时 ...

随机推荐

  1. 一步步启动linux

    可以一步一步启动linux. 在Ubantu刚一启动时,按c健即进入Grub>提示符状态,在此状态下输入(我用的是Ubuntu 13) grub>linux /vmlinuz grub&g ...

  2. AngularJs练习Demo19 Resource

    @{ Layout = null; } <!DOCTYPE html> <html> <head> <meta name="viewport&quo ...

  3. NSUserDefaults的使用方法

    NSUserDefaults对象是用来保存,恢复应用程序相关的偏好设置,配置数据等等,用户再次打开程序或开机后这些数据仍然存在.默认系统允许应用程序自定义它的行为去迎合用户的喜好.你可以在程序运行的时 ...

  4. UILable  /  UITextField  /   UIButton

    // 获取屏幕大小的view UIView *contentView = [[UIView alloc] initWithFrame:[UIScreen mainScreen].bounds]; // ...

  5. C#类、静态类

    C#是面向对象(object-oriented)类型的计算机语言,使用类(class)来体现面向对象的概念. 分类(classification) 我们在现实世界中,会遇到很多被分类的事物.例如,动物 ...

  6. 网络流初步——增广路算法(EK)模板

    #include <iostream> #include <queue> #include<string.h> using namespace std; #defi ...

  7. php 字符编码转换函数 iconv mb_convert_encoding比较

    在使用PHP处理字符串时,我们经常会碰到字符编码转换的问题,你碰到过iconv转换失败吗? 发现问题时,网上搜了搜,才发现iconv原来有bug ,碰到一些生僻字就会无法转换,当然了配置第二个参数时, ...

  8. iOS学习之自定义UItableViewCell

    在项目开发中,大部分情况下我们都需要自定义UITableViewCell, 今天就重点整理一下目前自己已经学过的自定义Cell的一些注意事项; 分步骤来写吧: 1.将自定义的Cell定义为属性; 2. ...

  9. 自制单片机之二-----AT89S51ISP下载线的制做

    最小系统板做好了,接下来就是做根ISP下载线了.否则程序怎么写到AT89S51芯片里呢? 先来认识一下AT89S51上ISP(在线编程)功能脚的定义 看上图的左边AT89S51引脚图的P1.5.P1. ...

  10. 动态Linq(结合反射)

    这篇文章决定对最近一个单机版Web程序用到的东西总结一下. 一.反射Linq之OrderBy 动态Linq结合反射对某字段排序: namespace 动态Linq { class Program { ...