首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用Shell脚本遍历子目录下所有文件方法

最近博客进行了搬家,CDN源发生改变,想着在CDN上将博客所有图片刷新预热一遍,那么问题来了,刷新预热需要得到所有图片地址,于是直接使用Shell脚本递归遍历wp-content/uploads目录先得到图片文件路径...创建Shell脚本 使用vi编辑器,先创建一个vi traveDir.sh文件,复制下面的脚本代码: #!.../traveDir.sh /xxx/wp-content/uploads即可,xxx请修改为您站点绝对路径。如果您想要导出为.txt文本,直接使用>>流操作即可。 #导出为.txt ....11/snipaste_20191110_102750.png这个样子,直接使用文本工具,将/data/wwwroot/xiaoz.me/批量替换为您自己域名,然后将URL提交到CDN服务商进行刷新预热...总结 脚本批量导出文件路径 文本工具将站点根目录批量替换为自己域名 提交URL刷新 脚本比较简单,网上一搜一大把,此文参考了:使用Shell遍历目录及其子目录中所有文件方法

1.4K20

如何使用PQ获取目录下所有文件名(不含文件子目录)

今天想把之前发布Power BI示例文件文件夹做一个表出来,只获取该目录下所有文件名,并不包含其中各种文件子目录。 ? 因为每个文件夹中都包含多个文件,甚至还有子文件夹: ?...所以如果直接用“从文件夹获取数据”方式,PowerQuery会使用Folder.Files函数: ? Folder.Files会将所选目录下所有文件路径罗列出来: ?...以下是Folder.Contents说明: ? 这个就比较好了。它只返回所选录下文件夹名和文件名,并不会返回子文件夹下文件。...这样我们就得到了根目录下所有文件夹名,和文件名。尤其是,空文件夹这里也出现了。 接下来就是从列表中只返回文件名。...再筛选TRUE行: ? 意思是查看属性,然后筛选那些是“目录”行。 这样,就将该目录下所有文件名获取到了。

6.8K20
您找到你想要的搜索结果了吗?
是的
没有找到

.NET 将混合了多个不同平台(Windows Mac Linux)文件目录路径格式化成同一个平台下路径

各大文档博客和书籍也都推荐大家使用 Path 来处理路径字符串拼接、拆分和提取等,这可以很大程度避免不同遭遇不同平台下路径分隔字符串不一致导致各种问题。...可以发现这些点: Path.Combine 路径拼接仅决定如何合并两段字符串,不会将已有的路径格式化成当前平台路径分隔符。...在 Linux 下,\ 是合理文件名! 另外,路径经常使用在 Shell 中,而在 Shell 中,\ 是个转义字符! 例如,你可以有一个文件,名字是 foo\bar.txt。...Linux 下挂掉了 - walterlv 自己实现 知道了 Linux 是合理文件名后,当然不能再指望有某个通用解决方法了。...所以,如果你明确这些不同种类路径字符串来源你都清楚(没错,就是你自己挖出来坑),拼接出来之后后果你才能知道是否是符合业务。这时你才应该决定是否真的要做路径格式化。

34960

深入理解Android Build系统

如何将这些模块统一管理起来,如何能够在不同操作系统上进行编译,如何在编译时能够支持面向不同硬件设备,不同编译类型,且还要提供面向各个产商定制扩展,Android系统如何解决这些问题呢?...,位于模块文件录下。...config.mk 整个 Build 系统配置文件,最重要 Make 文件之一。该文件中主要包含以下内容: 定义了许多常量来负责不同类型模块编译。...## 添加新模块 在源码树中,一个模块所有文件通常都位于同一文件夹中。...标签是提供给编译类型使用不同编译类型会安装包含不同标签模块。 编译类型说明: 名称 说明 eng 默认类型,该编译类型适用于开发阶段。

1.8K60

RPM打包原理、示例、详解及备查

之后,解压源代码至 %_builddir 子目录并应用所有 patch。 %build %_builddir %_builddir 编译位于 %_builddir 构建目录下文件。通过执行类似 ....在该目录下不同架构 RPM 包会分别保存至不同子目录, noarch 目录保存适用于所有架构 RPM 包。这些 RPM 文件就是用户最终安装 RPM 包。...PKGNAME.REASON.patch 如果需要修改多个文件,简单方法是复制 BUILD 下整个子目录,然后在子目录执行 diff。...之后,解压源代码至 %_builddir 子目录并应用所有 patch。 %build %_builddir %_builddir 编译位于 %_builddir 构建目录下文件。通过执行类似 ....在该目录下不同架构 RPM 包会分别保存至不同子目录, noarch 目录保存适用于所有架构 RPM 包。这些 RPM 文件就是用户最终安装 RPM 包。

10.2K71

java Spring系列之 配置文件操作 +Bean生命周期+不同数据类型注入简析+注入原理详解+配置文件不同标签体使用方式

Spring配置文件作用 Spring配置文件是用于Spring工厂进行Bean生产,依赖关系注入,Bean实例分发图纸,他类似于人类大脑,我们必须掌握这张图纸使用方法,才能进行相关操作,灵活运用这张图纸准确表达自己意图...Spring配置文件是一个或多个标准xml文档,applicationContext.xml文件是默认配置文件,当容器启动找不到配置文件时,就会尝试加载这个配置文件。...主函数,使用SpringAPI获取Bean实例 存在文件夹: ?...); } } 运行结果: 两个对象地址值一样,说明为同一个对象 ?...当scope取值为prototype时: Bean实例化格式:多个 Bean实例化时机:当调用getBean()方法时,实例化Bean 对象创建:当使用对象时,创建新对象实例 对象运行:只要对象在使用

1.8K20

Linux下automake工具使用(自动构建Makefile文件)

利用make工具,我们可以将大型开发项目分解成为多个更易于管理模块,对于一个包括几百个源文件应用程序,使用make和 makefile工具就可以轻而易举理顺各个源文件之间纷繁复杂相互关系。...1) flat指的是所有文件位于同一个目录中。 就是所有源文件、头文件以及其他库文件位于当前目录中,且没有子目录。Termutils就是这一类。...2) shallow指的是主要源代码都储存在顶层目录,其他各个部分则储存在子目录中。 就是主要源文件在当前目录中,而其它一些实现各部分功能文件位于各自不同目录。...3) deep指的是所有源代码都被储存在子目录中;顶层目录主要包含配置信息。 就是所有源文件及自己写文件位于当前目录一个子目录中,而当前目录里没有任何源文件。...) 7.1 创建待编译源码(模拟真实项目环境) 在第一章里简单介绍了使用automake自动产生makefile几个关键步骤,所有文件都在同一个目录下

5.8K21

一次早期自动化构建搭建过程

自动编译系统一般是使用编译配置文件make.conf (位于源代码根目录)生成全编译脚本,但是如果项目代码根目录中有整体makefile文件,则可以使用confgen.pl读取这个makefile生成编译配制文件...使用mkgen.pl读取源代码根目录下编译配置文件make.conf (这个文件中定义了要参加编译子目录,以及这些目录间依赖关系,即编译顺序,它可以通过makefile生成,也可以手工编写),在源代码根目录下生成全编译脚本...但可以通过-o选项指定输出文件; -f 用来指定缺省配置所在文件,如果不指定的话,则会尝试使用confgen.pl同一录下make.conf.def,其中可以指定编译目录依赖关系,以及包括,排除列表缺省值...,这些值会合并到最终生成make.conf文件中(参见mkgen.pl用法说明) 2.4. mkgen.pl用法 用途: 根据make.conf生成全构建脚本build.sh 使用方法: mkgen.pl...,-e指定参加构建或者不参加构建子目录(如果-i,-e指定了同一个目录,则以-e为准) make.conf一个很重要用途是用来指明编译依赖关系,帮助确定编译顺序,下边是一个例子: [order

1.1K20

Autoconf编译配置

2)make make是一个命令,它使用第1步得到Makefile文件,如果只有”make”命令,而没有指明”目标”,一般情况下是编译源码。...,是生成configure文件,configure是一个脚本,它能设置源程序来适应各种不同操作系统平台,并且根据不同系统来产生合适Makefile,从而可以使你源代码能在不同操作系统平台上被编译出来...3)**原则3:**Makefile.am中指明当前目录如何编译 编译安装 编译和安装规则是绑定在一起,通过同一条语句同时指定了编译和安装处理方式 具体格式为:安装目录_编译类型=编译目标...=config/test.ini => 使用自定义目录config,必须要有这句,否则目录不会创建, =号后面如果有对应文件,安装时会将对应文件拷贝到config目录下 ​ 1.2:编译类型 ​...常见编译类型如下,没有自定义编译类型 类型 说明 使用方式 PROGRAMS 可执行程序 bin_PROGRAMS LIBRARIES 库文件 lib_LIBRARIES LTLIBRARIES libtool

1.1K50

Makefile学习1

在Linux环境下,安装了GCC编译器,在程序安装目录下面会有各种二进制可执行文件: cpp:预处理器 ccl:编译器 as:汇编器 ld:链接器 ar:静态库制作工具 程序在编译过程中会分别使用这些工具...如一个目标文件%.o都是由其对应文件%.c编译生成,生成命令也是相同: %.o: %.c gcc -o %.o %.c 多规则目标 多个规则可能是同一个目标,make在解析Makefile...延迟展开变量一般用在规则命令行中,这些变量在make编译过程中被引用到才会展开,获得其实际值。 自动变量 在Makefile中,大家经常会见到类似 @、 ^、$<这种类型变量。...,make编译工程项目时,会依次遍历各个不同子目录,编译每个子目录下文件。..."make done" make通过 -C subdir参数,会分别到各个子目录下去执行,解析各个子目录下Makefile并运行,遍历完所有的子目make依次遍历到各个子目录下解析新Makefile

32810

文件目录Makefile写法

文件目录Makefile写法 1、前言   linux下程序开发,涉及到多个文件多个目录,这时候编译文件任务量比较大,需要写Makefile 2、简单测试   测试程序在同一文件中,共有func.h...也就是说通常将文件按照文件类型放在不同目录当中,这个时候Makefile需要统一管理这些文件,将生产目标文件放在目标目录下,可执行文件放到可执行目录下。测试程序如下图所示: ?...SRC = $(wildcard *.c) 等于指定编译当前目录下所有.c文件,如果还有子目录,比如子目录为inc,则再增加一个wildcard函数,象这样: SRC = (wildcard *.c)...#### #编译指定子目录 SUBDIRS := ....&& make $1) \  done; endef #编译主程序 BINARY  := .

3.7K20

Nginx目录详解

在大多数情况下,如果你从源代码编译并安装了Nginx,conf目录通常位于Nginx安装目录下conf子目录中。...关于Nginxhtml目录,可以归纳以下几点:位置:Nginx默认站点目录通常位于Nginx安装目录下html子目录中。...如果你从源代码编译并安装了 Nginx,并且没有指定特定日志目录,那么它可能会位于 Nginx 安装目录下 logs 子目录中。...此外,如果你配置了多个网站或应用,并且为每个网站或应用指定了不同日志文件,那么这些日志文件也将存放在 logs 目录中。为了管理和维护 Nginx 服务器,定期检查和分析这些日志文件是非常重要。...以下是关于sbin目录详细信息:位置:在Linux系统中,如果你从源代码编译并安装了Nginx,sbin目录通常位于Nginx安装目录下sbin子目录中,例如/usr/local/nginx/sbin

23210

Linux工具入门:make工具与Makefile文件

1. make工具 利用make工具可以自动完成编译工作,这些工作包括: 如果修改了某几个源文件,则只重新编译这几个源文件 如果某个头文件被修改了,则重新编译所有包含该头文件文件 利用这种自动编译可以大大简化开发工作...make工具通过一个称为Makefile文件来完成并自动维护编译工作,Makefile文件描述了整个工程编译、连接规则。 回到顶部 2.....o文件生成都使用同一条命令来完成,简化重复工作。...shell下命令,同样是使用$来引用,例如 $(shell ls -d */) 【将当前目录下所有文件夹都列出来】 下面通过一个多级目录例子来使用这些函数。...:%.c = %.o) 【ROOTBOJ 保存了当前目录下.c文件同名.o列表】 SUBSRC = $(shell find $(SUBDIR) -name '*.c') 【SUBSRC 保存了所有子目录下

3K40

Linux工具入门:make工具与Makefile文件

1. make工具 利用make工具可以自动完成编译工作,这些工作包括: 如果修改了某几个源文件,则只重新编译这几个源文件 如果某个头文件被修改了,则重新编译所有包含该头文件文件 利用这种自动编译可以大大简化开发工作...make工具通过一个称为Makefile文件来完成并自动维护编译工作,Makefile文件描述了整个工程编译、连接规则。 2. Makefile文件 Makefile描述了整个工程编译连接规则。....o文件生成都使用同一条命令来完成,简化重复工作。...shell下命令,同样是使用$来引用,例如 $(shell ls -d */) 【将当前目录下所有文件夹都列出来】 下面通过一个多级目录例子来使用这些函数。...:%.c = %.o) 【ROOTBOJ 保存了当前目录下.c文件同名.o列表】 SUBSRC = $(shell find $(SUBDIR) -name '*.c') 【SUBSRC 保存了所有子目录下

3.4K40

matlab调用python库函数和自定义脚本函数

本来只是想获取字符串MD5hash值,结果发现麻烦。首先去mathworks找到DataHash,GetMD5这些函数要么无法使用,要么就是计算出来md5值是错误,反正达不到效果。...直接使用py库就好了,唯一问题就是有些python语法和matlab不同,比如切片[:::]操作这些。...调用自定义.py脚本函数 上面的方法倒是可以解决一部分难题,但是遇到方括号[]、百分号%操作符这些直接在.m文件中就不会执行了。毕竟matlab是以它语法来解析,这样只得起调.py文件来操作。...('a.test');%载入子目录下脚本模块 py.importlib.reload(mod); 调用py.test.func即可得到切片结果321,注意为py.str类型。...子目录形同:py.子目录.文件名.函数名 当修改py文件之后再调用会发现还是之前结果,matlab缓存了之前python脚本,所以这里需要clear classes...这类操作。

71420

通用Makefile使用及解析

一、源码使用 1、工程预览 使用 tree 命令查看文件树形结构 example 目录下文件为待添加 Makefile 源码,Makefile_and_readme 目录下文件为通用 Makefile...、子目录外, 主要是定义工具链前缀 CROSS_COMPILE, 定义编译参数 CFLAGS, 定义链接参数 LDFLAGS, 这些参数就是文件中用 export 导出各变量。...- 我们这里赋值为空,默认使用 PC 机编译 不同板子这个前缀不一样 ⑥、确定应用程序名字 我们指定应用程序名字为 test 二、源码编译 1、编译 进入到 example 目录...: 每一个目录下面都有一个名为 Makefile 文件,在 Makefile 里面指定了哪些文件,哪些目录要编译进程序里,我们使用顶层 Makefile.build 将这些文件编进程序里。...进入子目编译: $(subdir-y): make -C $@ -f $(TOPDIR)/Makefile.build # 进入子目录并使用顶层目录里面的 Makefile.build 来编译这个子目

43920

Makefile常用模板「建议收藏」

因为make命令编译实在是太方便了,所以自己写写小项目用一用还是挺好。网上关于Makefile教程也很多,总结一下近几年用到常用脚本,方便自己查阅,如果能帮到别人那便是极好_。...单文件项目 其实一个文件项目也没必要写Makefile了,哈哈。便于理解就先从最基础开始吧,Makefile实际上就是写有gcc等编译链接语句脚本,加上一些可以缩写这些语句规则。...可以使用一些Makefile自带规则简化着写。...CC) -c $^ $(INCLUDE) $(CFLAGS) clean: rm -f $(OBJS) $(TARGET) 遍历执行子目录下Makefile 有这么个应用场景,当前目录下多个子目录...,且每个子目录下都有独立Makefile文件,相当于目录下多个独立工程,现在需要执行make把各个子目录下工程全部编译

1.2K20

13.JAVA-包package、import使用

1.包定义 之前我们学习java时,生成class文件都是位于当前目录中,假如出现了同名文件,则会出现文件覆盖问题,因此就需要设置不同目录(定义包),来解决同名文件冲突问题....其实在大型项目里,不同包里也经常出现同名文件 比如:Linux内核arch目录下就定义了很多不同cpu处理器相关子目录,然后又在具体某个cpu子目录里又有许多不同板卡配置相关子目录,并且在每个不同板卡子目录里都有个...定义一个包: package common.demo ; //指定生成class文件位于common/demo/目录下 public class Test {...*.java //如果当前目录有多个java文件,并且互相引用时候,则用这个命令,*表示编译所有java文件....3.import导入包使用 之前我们学习了使用package包可以将编译出来class进行分开保存,那么如果想不同包之间互相调用,则需要使用import关键字来声明包入口位置. 3.1 import

1.6K20

Makefile伪目标

文件夹中没有clean这个文件时候,我们输入“make clean”能按照初衷执行,但是一旦文件夹中出现clean文件,我们再次输入“make clean”,由于这个规则没有任何依赖文件,所以目标被认为是最新而不去执行规则所定义命令...clean:   rm xxxx 如果同一个目录下有一个clean文件,那么  make clean动作将不会执行rm动作; 所以,增加.PHONY伪目标的使用的话,就会忽略目录下clean这个文件,...直接执行rm动作; 第二种情况: 伪目标的另一种使用场合时在make并行和递归执行过程中。...) –C $$dir done 如果这样写,会出现几个问题: 1、 当子目录执行make出现错误,make不会退出; 2、 使用这种shell循环方式时,没有用到make...) –C $@ 其中subdirs模板表示要编译多个子目录中工程。

1.3K70

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券