获取到的所有文件名放到数组中时必须加上引号,不然 for 循环时会被解析成通配符,或者使用 shell 字典,同样也需要引号. shell 字典示例 #!/bin/bash echo "shell定义字典" #必须先声明 declare -A dic dic=([key1]="value1" [key2]="value2" [key3]="value3") #打印指定key的value echo ${dic["key…
 装饰器分成三种: 1.无参数的: 2.有参数的: 3.装饰器本身带参数的. 装饰器decorator又叫语法糖 定义:本质是函数,器就是函数的意思.装饰其他函数.就是为其他函数添加附加功能. 原则:   1.不能修改被装饰的函数的源代码: 2.不能修改被装饰的函数的调用方式: 3.装饰器对被装饰的函数是完全透明,就是被装饰的函数,根本不知道装饰器的存在. 实现装饰器知识储备: 1.函数即“变量” 2.高阶函数 3.嵌套函数 高阶函数+嵌套函数=>装饰器的效果 1.函数即变量的意义: 函数跟变量…
版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/Amnes1a/article/details/65444966QFileInfo类为我们提供了系统无关的文件信息,包括文件的名字和在文件系统中位置,文件的访问权限,是否是目录或符合链接,等等.并且,通过这个类,可以修改文件的大小和最后修改.读取时间.同时,QFileInfo类也可以用来取到Qt 资源的相关信息. QFileInfo既可以表示绝对路径,也可以表示相对路径的文件.其中,绝对路径就是已"…
很多时候在使用Linux的shell时,我们都需要对文件名或目录名进行处理,通常的操作是由路径中提取出文件名,从路径中提取出目录名,提取文件后缀名等等.例如,从路径/dir1/dir2/file.txt中提取也文件名file.txt,提取出目录/dir1/dir2,提取出文件后缀txt等. 下面介绍两种常用的方法来进行相关的操作. 一.使用${} 1.${var##*/} 该命令的作用是去掉变量var从左边算起的最后一个'/'字符及其左边的内容,返回从左边算起的最后一个'/'(不含该字符)的右边…
转自http://blog.csdn.net/universe_hao/article/details/52640321 shell 提取文件名和目录名 在写shell脚本中,经常会有需要对路径和文件名做处理.有时候犯不着用sed命令来操作.bash提供的变量操作和一些外部命令都能很好的处理.   一.使用变量操作符 ${} 1.${var##*/} 该方式是从左开始最大化匹配到字符"/",然后截掉左边内容(包括字符"/"),返回余下右侧部分. $ var=/dir…
概述 使用 shell 替换 文件名中的空格 背景 尝试用 find 配合 xargs, 在多个文件里找关键字 出现了问题 有空格的文件名, 并不是很好处理 准备 os centos7 1. 问题: 文件名中的空格 场景 需要在多个文本里, 查找某个关键字 方法 find 配合 xargs 问题 文件名里有空格 结果 xargs 会把 带有空格的文件名, 当做多个文件 处理 使用 -i {} 处理 结果 可以找出来了 但是会丢失 文件名 所以, 还是得换别的思路来处理 2. 处理思路 1. 思路…
取文件名 ExtractFileName(FileName); 取文件扩展名: ExtractFileExt(filename); 取文件名,不带扩展名: 方法一:   Function ExtractFileNameNoExt(FileString: String): String;   Var   FileWithExtString: String;   FileExtString: String;   LenExt: Integer;   LenNameWithExt: Integer;…
参数带星号表示支持可变不定数量的参数,这种方法叫参数收集. 星号又可以带1个或2个,带1个表示按位置来收集参数,带2个星号表示按关键字来收集参数. 1.带一个星号的参数收集模式: 这种模式是在函数定义时在某个形参前面加一个星号,调用时按位置匹配不带星号的形参和实参,多余的实参都将作为一个元组的元素保存到星号对应的形参中. 2.带两个星号的参数收集模式: 带1个星号的参数收集模式的收集参数不能收集关键字参数传递的实参,要收集关键字参数传递的实参,需要在收集参数前使用两个星号,此时收集参数对应的是一…
假如文件名是:time_filename.txt 改成filename_time.txt.例如20111111_me.txt改成me_201111111.txt要如何修改? #! /bin/sh for eachfile in `ls -B` do filename=${eachfile%.txt} filehead=`echo $filename | awk -F _ '{print $1 }'` filelast=`echo $filename | awk -F _ '{print $2 }…
命令行带参数,以及字符串参数放到ssh命令里可以这么放: #!/bin/bash        这行保证运行bash可以这样: ./data.sh if [ $# != 4 ]; then echo "USAGE: data.sh IpAddress ServerUser SqlUser SqlPasswd" else ssh -i ~/.ssh/eon-dev.rsa $server_string "mysql -u "$SqlUser" -p"…
一,需求为查询文件名为ZRSH开头的时间为7月至今的所有文件并打包 1.首先想到的就是find + xargs + cp  格式.. find 2016073* -type f  -name *ZRSH\*   |xargs  cp {} ./data/ 执行之后发现说查询出来的文件不是目录,很讶异,于是直接执行find 2016073* -type f  -name *ZRSH\*    文件都查询出来没有任何问题.. 2.猜测是cp 的时候有意想不到的问题发生.于是直接cp测试报文.发现文件…
#问题:客户端为ie或Firefox,服务端为asp.net时,下载文件名中包含中文汉字时,下载下来的文件的文件名是乱码: #解决方案: 示例代码:下载名称中带汉字的文件: public void ProcessRequest(HttpContext context) 2 { string action = context.Request["action"].ToString(); if (action == "download") { string fileNam…
最近在学Gradle, 使用git clone 命令下载了一些资料,但是文件名含有空格,看上去不是很舒服,因此想到用shell脚本对其进行批处理,去掉文件名中的空格,注意这里是把所有的空格全去掉 git clone https://github.com/waylau/Gradle-2-User-Guide-Demos.git Shell脚本: ######################################################################### # F…
shell脚本中的一些函数参数说明如下: #!/bin/bash echo 显示参数的个数: $# echo 以单个字符串把每个参数连接起来: $* echo 显示脚本当前运行的进程id: $$ echo "shift命令可以把参数列表$@中的第一个参数剔除,同时其余的变量向前移一位" shift echo 以参数的形式显示各个参数: $@ } 然后执行上面脚本结果如下: [root@db1 ~]# 显示脚本本身: one.sh 显示第一参数: 显示参数的个数: 以单个字符串把每个参数…
python中函数参数的传递是通过赋值来传递的.函数参数的使用又有俩个方面值得注意:1.函数参数是如何定义的 2.在调用函数的过程中参数是如何被解析 先看第一个问题,在python中函数参数的定义主要有四种方式: 1.F(arg1,arg2,...) 这 是最常见的定义方式,一个函数可以定义任意个参数,每个参数间用逗号分割,用这种方式定义的函数在调用的的时候也必须在函数名后的小括号里提供个数相等的 值(实际参数),而且顺序必须相同,也就是说在这种调用方式中,形参和实参的个数必须一致,而且必须一一…
有些脚本要根据文件名进行各种处理,有时候需要保留文件名抛弃文件后缀,也有时候需要文件后缀不要文件名,这类提取文件部分的操作使用shell的内建功能就能实现.需要用到的几个操作符有:%.%%.#.##. 从右向左匹配 :% 和 %% 操作符的示例 #!/bin/bash #提取文件名,删除后缀. file_name="text.gif" name=${file_name%.*} echo file name is: $name 输出结果: file name is: test # ${V…
${}用于字符串的读取,提取和替换功能,可以使用${} 提取字符串 1.提取文件名 [root@localhost log]# var=/dir1/dir2/file.txt [root@localhost log]# echo ${var##*/} file.txt 2.提取后缀 [root@localhost log]# echo ${var##*.} txt 3.提取不带后缀的文件名,分两步 [root@localhost log]# tmp=${var##*/} [root@localh…
利用正则表达式是匹配后缀名 一般文件后缀都为.xxx,也就是说从尾部匹配的话首先是字母,接着应该有一个. 那么我们就开始写正则表达式 利用在线工具 方便我们编写边测试 一般都是小写字母,所以我们用[a-z],个数一个是1到无限{1,},然后从尾部匹配开始$ 所以我们从后面匹配一串字母的正则表达式长这样[a-z]{0,}   测试一下 我们还差一个.,所以我们再加上去 最终正则表达式是这样的\.{1}[a-z]{1,}$,那个反斜杠是代表转义,我记得是这样的   成功匹配到了 那我们来实际测试一下…
python中函数参数的传递是通过赋值来传递的.函数参数的使用又有俩个方面值得注意:1.函数参数是如何定义的 2.在调用函数的过程中参数是如何被解析 先看第一个问题,在python中函数参数的定义主要有四种方式: 1.F(arg1,arg2,...) 这 是最常见的定义方式,一个函数可以定义任意个参数,每个参数间用逗号分割,用这种方式定义的函数在调用的的时候也必须在函数名后的小括号里提供个数相等的 值(实际参数),而且顺序必须相同,也就是说在这种调用方式中,形参和实参的个数必须一致,而且必须一一…
python中函数参数的传递是通过赋值来传递的.函数参数的使用又有俩个方面值得注意:1.函数参数是如何定义的 2.在调用函数的过程中参数是如何被解析 先看第一个问题,在python中函数参数的定义主要有四种方式:1.F(arg1,arg2,...)这 是最常见的定义方式,一个函数可以定义任意个参数,每个参数间用逗号分割,用这种方式定义的函数在调用的的时候也必须在函数名后的小括号里提供个数相等的 值(实际参数),而且顺序必须相同,也就是说在这种调用方式中,形参和实参的个数必须一致,而且必须一一对应…
我想修改类似如下一批文件的文件名:AA01_01.txtAA01_02.txtAA01_03.txtAA01_04.txt 修改成BB02_01.txtBB02_02.txtBB02_03.txtBB02_04.txt 把文件名的头换下. ==============================================================for x in `seq 1 4`;do mv AA01_0${x}.txt BB01_0${x}.txt;done 今天才知道ren…
RequestMappingInfoHandlerMapping 在处理http请求的时候, 如果 请求url 有后缀,如果找不到精确匹配的那个@RequestMapping方法.那么,就把后缀去掉,然后.* 去匹配,这样,一般都可以匹配. 比如有一个@RequestMapping("/rest"), 那么精确匹配的情况下, 只会匹配/rest请求. 但如果我前端发来一个 /rest.abcdef 这样的请求, 又没有配置 @RequestMapping("/rest.abc…
1. 两个虚拟机配置相同都为2vCPU 8G内存 一个虚拟机内包含较多的快照且有内容梗概 一个虚拟机不包含快照直接只有一个虚拟机的vmdk磁盘文件 操作系统未windows server 2008r2 磁盘测试工具是HDtune 测试结果: 不带快照的机器: 带快照的机器: 简单发现 存取时间多个快照的虚拟机比没有快照的虚拟机多使用了50%的时间. 突发传输速率只有不带快照的虚拟机三分之一 CPU占用率是不带快照的占用几乎三倍. 简单测试认为快照对磁盘IO还是有非常大的影像的, 备注 两个虚拟机…
1.获取文件名并修改文件名 2.$@ 遍历参数 3.赋值要加"" 4.if 判断注意空格 else后面不能跟then…
最近这段时间一直在忙新集群迁移,上了最新的cdh6.3.0 于是Flink 提交遇到了许多的问题 还好有cloudera License 有了原厂的帮助和社区的伙伴,问题解决起来快了不少,手动滑稽 集群具体情况是,cdh6.3.0+Flink1.8.1,整个数据平台全部组件都上了kerberos和ldap因为要过认证,所以任务提交方法我们选择统一oozie提交任务 并且因为kerberos认证,还需要Flink perjob 需要单独的keytab,才能细腻度的控制权限,因为我们现在部门之间计算…
<a style="padding-bottom: 1PX;border-bottom: 1PX #254fc5 solid;text-decoration: none;">…
先看如下的效果: 方法: 先看如下的脚本sh3.sh: #!/bin/bash echo "peng" echo "$(color bold yellow) ------------------------------------------------------------------ $(color)" 将color文件所在的路径加入到环境变量PATH中,临时修改PATH的方法如下: export PATH=$PATH:XXX/color 然后运行脚本: ./…
for a in `ls mo-*`;do mv ${a%:} ${a%:}-1;done…
用rename命令 如果没装的话执行下面这个命令安装rename brew install rename rename 's/^/logo_/' *.png…
System.FileName:~=“(” 这样就行. 括号上加个引号 ~= 是包含的意思, ~< 是以什么为开头, = 是以什么为名, ~! 是不包含 来自: http://www.lao8.org/article_1493/sousuo_teshufuhao 同样也适用于windows 10…