当前位置: 首页 > news >正文

通配符用法

在本篇文章中,本文将说明通配符用法。

(1)概述

通配符是在Linux命令中用于匹配文件名的特殊字符。它们可以帮助我们快速定位和操作文件。本文将介绍一些常用的通配符及其示例用法。

通配符是一种用于模式匹配的特殊字符。在计算机领域中,通配符通常用于文件名匹配和搜索操作中。它们允许你根据特定的模式来匹配文件名或字符串,从而进行更灵活和方便的匹配操作。

(2)常见通配符及作用:

符号作用
*匹配任意长度的任意字符序列。例如,file*可以匹配file1file2file123等。
?匹配单个字符。例如,file?.txt可以匹配file1.txtfile2.txt等。
[ ]匹配指定范围内的字符。可以使用单个字符或字符范围。例如,[abc]可以匹配abc[0-9]可以匹配任意数字。
[^ ]匹配不在指定范围内的字符。例如,[^abc]可以匹配除了abc之外的任何字符。
{ }创建多个模式的组合。可以使用逗号分隔多个模式。例如,{file1,file2}.txt可以匹配file1.txtfile2.txt
~匹配用户的主目录。例如,~/Documents表示当前用户的Documents目录。
.匹配任意单个字符。在文件名中使用.需要进行转义,即使用\.。例如,file\.txt可以匹配file.txt
+匹配前一个字符的一个或多个实例。例如,file+可以匹配filefileefileee等。
``反引号,用于引用命令结果
()创建子模式。可以使用括号将模式组合在一起。

这些通配符符号在Linux系统中经常用于文件名匹配和模式匹配。

(3)常用示例

1. 使用通配符匹配文件名

通配符在命令行中也可以用于匹配文件名。例如,要列出当前目录下所有以.txt结尾的文件,可以执行以下命令:

ls *.txt

输出:

1.txt  test1.txt  test2.txt  test.txt

这将输出所有以.txt结尾的文件名。

2. 使用反引号执行命令替换

反引号可以用于执行命令替换。例如,要创建以当前日期命名的.txt文件,可以执行以下命令:

touch `date +%F`.txtls *.txt

输出:

1.txt  2023-12-12.txt  test1.txt  test2.txt  test.txt

这将创建一个以当前日期命名的.txt文件。

3. 结合find命令搜索指定深度的文件夹

要搜索指定深度的文件夹,可以使用find命令的-maxdepth参数。例如,要在/tmp/tmp1/tmp2目录下搜索深度为3的文件夹内所有文件,可以执行以下命令:

mkdir -p /tmp/tmp1/tmp2touch /tmp/tmp1/tmp2/666.txtfind /tmp/tmp1/tmp2 -maxdepth 3 -type f -name "*"  

输出:

/tmp/tmp1/tmp2/666.txt
4. 结合find命令匹配特定模式的文件

find命令还可以使用正则表达式匹配特定模式的文件。例如,要找出/tmp目录下以任意一位数字开头且以非数字结尾的文件,可以执行以下命令:

find /tmp -type f -regex '.*/[0-9][^0-9]*'

输出:

/tmp/1.txt
/tmp/tmpp1/2
/tmp/tmpp1/3
/tmp/tmpp1/1.sh
/tmp/tmpp1/2.sh
/tmp/tmpp1/3.sh
/tmp/tmpp1/4.sh
  • [0-9]匹配任意一位数字,
  • [^0-9]匹配任意非数字字符,
  • *表示行尾。

这个命令会找到以数字开头且以非数字结尾的文件。

5. 结合find命令复制特定模式的文件

要复制以非字母开头的文件到指定目录下,可以使用find命令结合-exec参数。例如,要将/usr/local目录下以非字母开头的文件复制到/tmp/tmpp1/目录下,可以执行以下命令:

find /usr/local -type f ! -name '[a-zA-Z]*' -exec cp {} /tmp/tmpp1/ \;

这个命令使用find命令查找/usr/local目录下不以字母开头的文件,并使用-exec参数将它们逐个复制到/tmp/tmpp1/目录下。

(4)总结

本文介绍了一些常用的通配符及其示例用法。掌握这些通配符可以帮助我们更高效地在Linux系统中定位和操作文件。希望这些示例对你有所帮助!

相关文章:

通配符用法

在本篇文章中,本文将说明通配符用法。 (1)概述 通配符是在Linux命令中用于匹配文件名的特殊字符。它们可以帮助我们快速定位和操作文件。本文将介绍一些常用的通配符及其示例用法。 通配符是一种用于模式匹配的特殊字符。在计算机领域中&am…...

如何从eureka-server上进行服务发现,负载均衡远程调用服务

在spring cloud的maven的pom文件中添加eureka-client的依赖坐标 <!--eureka-client依赖--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-eureka-client</artifactId></dependen…...

Flutter实现Android拖动到垃圾桶删除效果-Draggable和DragTarget的详细讲解

文章目录 Draggable介绍构造函数参数说明使用示例 DragTarget 介绍构造函数参数说明使用示例 DragTarget 如何接收Draggable传递过来的数据&#xff1f; Draggable介绍 Draggable是Flutter框架中的一个小部件&#xff0c;用于支持用户通过手势拖动一个子部件。它是基于手势的一…...

Nacos和Eureka冲突问题原因分析

目录 一、问题现象二、解决办法三、原因分析 一、问题现象 Description:Field autoServiceRegistration in org.springframework.cloud.client.serviceregistry.AutoServiceRegistrationAutoConfiguration required a single bean, but 2 were found:- eurekaAutoServiceRegis…...

『C++成长记』拷贝构造函数

&#x1f525;博客主页&#xff1a;小王又困了 &#x1f4da;系列专栏&#xff1a;C &#x1f31f;人之为学&#xff0c;不日近则日退 ❤️感谢大家点赞&#x1f44d;收藏⭐评论✍️ 目录 一、拷贝构造函数 &#x1f4d2;1.1拷贝构造函数的概念 &#x1f4d2;1.2拷贝构造…...

B 站基于 StarRocks 构建大数据元仓

作者&#xff1a;bilibili 大数据高级开发工程师 杨洋 B站大数据元仓是一款用来观测大数据引擎运行情况、推动大作业治理的系统诊断产品。经过调研和性能测试&#xff0c;大数据元仓最终以 StarRocks 为技术底座&#xff0c;从实际的应用效果来看&#xff0c;大部分查询都能在几…...

最常用的4种光纤接口结构

光纤接口&#xff0c;全名是光纤活动连接器。光纤连接器就是用于光纤与光纤之间进行可拆卸连接的器件&#xff0c;它是把光纤的两个端面精密的对接起来&#xff0c;使光能量前后达到最大程度的耦合。 光纤连接器属于高精密的器件&#xff0c;最常见结构形式可分包括&#xff1a…...

Axure网页端高交互组件库, 下拉菜单文件上传穿梭框日期城市选择器

作品说明 组件数量&#xff1a;共 11 套 兼容软件&#xff1a;Axure RP 9/10&#xff0c;不支持低版本 应用领域&#xff1a;web端原型设计、桌面端原型设计 作品特色 本作品为「web端组件库」&#xff0c;高保真高交互 (带仿真功能效果)&#xff1b;运用了动态面板、中继…...

基于Java新人入职管理系统

基于Java新人入职管理系统 功能需求 1、个人信息管理&#xff1a;系统需要提供个人信息管理功能&#xff0c;包括新人的基本信息、联系方式、教育背景、工作经历等。 2、入职流程管理&#xff1a;系统需要提供入职流程管理功能&#xff0c;包括入职手续的办理、合同签订、入…...

Python实战 | 如何抓取腾讯视频

嗨喽~大家好呀&#xff0c;这里是魔王呐 ❤ ~! python更多源码/资料/解答/教程等 点击此处跳转文末名片免费获取 爬虫: 作用: 批量采集数据 / 模拟用户行为 原理: 模拟成 客户端 向 服务器 发送网络请求 环境介绍: python 3.8 解释器 pycharm 编辑器 第三方模块: reques…...

总结MySQL 的一些知识点:MySQL 导出数据

MySQL 导出数据 MySQL中你可以使用SELECT...INTO OUTFILE语句来简单的导出数据到文本文件上。 使用 SELECT ... INTO OUTFILE 语句导出数据 以下实例中我们将数据表 kxdang_tbl 数据导出到 /tmp/kxdang.txt 文件中: mysql> SELECT * FROM kxdang_tbl -> INTO OUTFILE /…...

C语言-字符串操作函数-附加使用方式

文章目录 前言字符串复制-strcpy字符串复制&#xff08;按照位数&#xff09;-strncpy字符串比较-strcmp字符串比较(按照位数)-strncmp不区分大小写的字符串比较-strcasecmp不区分大小写的比较(前n位)-strncasecmp字符串按照格式写入-sprintf字符串按照格式和个数写入-snprintf…...

06-React组件 Redux React-Redux

React组件化&#xff08;以Ant-Design为例&#xff09; 组件化编程&#xff0c;只需要去安装好对应的组件&#xff0c;然后通过各式各样的组件引入&#xff0c;实现快速开发 我们这里学习的是 Ant-design &#xff08;应该是这样&#xff09;&#xff0c;它有很多的组件供我们…...

Windows安装卸载MySQL

【官方】MySQL参考手册&#xff1a;介绍MySQL Server、SQL、InnoDB存储引擎、复制等。 Windows 卸载 MySQL 删除程序 【win x】 > p &#xff0c;在安装的程序中卸载MySQL相关删除安装目录和数据文件夹 D:\ProgramFiles\MySQL C:\ProgramData\MySQL删除服务 【win r】 &…...

element-ui 重置resetFields()不生效

element-ui 重置resetFields()不生效 初始化数据 data() {return {dialogVisible: false,form: {name: ,age: ,sex: ,birth: ,addr: }}}弹窗关闭重置数据 handleClose() {// 弹窗关闭的时候清除数据this.$refs.form.resetFields()this.dialogVisible false }以上操作this.$…...

JVM学习笔记-如何在IDEA打印JVM的GC日志信息

若要在Idea上打印JVM相应GC日志&#xff0c;其实只需在Run/Debug Configurations上进行设置即可。 拿《深入Java虚拟机》书中的3-7代码例子来演示&#xff0c;如 1 public class JvmTest {2 private static final int _1MB1024*1024;3 public static void main(String…...

16ASM 汇编基础与Debug使用

目录 硬件运行机制 微机系统硬件组成 计算机系统组成 8086CPU组织结构 DoxBox安装 Debug使用 R命令 D命令 E命令 U命令 T命令 A命令 标志寄存器 常用机器指令 硬件运行机制 下面是一个电子器件二极管&#xff0c;正向加电则通&#xff0c;反向加电则不通 利用二…...

基于Java车辆管理系统(如高校、办公园区)

基于Java车辆管理系统&#xff08;如高校、办公园区&#xff09; 功能需求 1、车辆进出管理&#xff1a;对进出校园和园区的车辆进行登记、授权和监管&#xff0c;确保车辆进出安全&#xff0c;特别是对于贵重车辆或特殊车辆&#xff0c;可以进行特别监控。 2、停车管理&…...

Dubbo v Spring Cloud:两大技术栈如何选型?

提到微服务开源框架&#xff0c;不可不说的是 Dubbo 和 Spring Cloud&#xff0c;这两大框架应该是大家最熟悉的微服务解决方案&#xff0c;也是面试中的热点。本文就梳理下 Dubbo 和 Spring Cloud 的应用特性&#xff0c;以及两个组件的功能对比。 Dubbo 应用 Dubbo 是阿里开…...

ubuntu上搭建bazel编译环境,构建Android APP

背景是github上下载的工程&#xff0c;说明仅支持bazel编译&#xff0c;折腾了一天Android studio&#xff0c;失败。 不得不尝试单价bazel编译环境&#xff0c;并不复杂&#xff0c;过程记录如下 说明&#xff1a;ubuntu环境是20.04&#xff0c;pve虚拟机安装 1.安装jdk sudo…...

Qt Widget类解析与代码注释

#include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this); }Widget::~Widget() {delete ui; }//解释这串代码&#xff0c;写上注释 当然可以&#xff01;这段代码是 Qt …...

UE5 学习系列(三)创建和移动物体

这篇博客是该系列的第三篇&#xff0c;是在之前两篇博客的基础上展开&#xff0c;主要介绍如何在操作界面中创建和拖动物体&#xff0c;这篇博客跟随的视频链接如下&#xff1a; B 站视频&#xff1a;s03-创建和移动物体 如果你不打算开之前的博客并且对UE5 比较熟的话按照以…...

linux arm系统烧录

1、打开瑞芯微程序 2、按住linux arm 的 recover按键 插入电源 3、当瑞芯微检测到有设备 4、松开recover按键 5、选择升级固件 6、点击固件选择本地刷机的linux arm 镜像 7、点击升级 &#xff08;忘了有没有这步了 估计有&#xff09; 刷机程序 和 镜像 就不提供了。要刷的时…...

uniapp微信小程序视频实时流+pc端预览方案

方案类型技术实现是否免费优点缺点适用场景延迟范围开发复杂度​WebSocket图片帧​定时拍照Base64传输✅ 完全免费无需服务器 纯前端实现高延迟高流量 帧率极低个人demo测试 超低频监控500ms-2s⭐⭐​RTMP推流​TRTC/即构SDK推流❌ 付费方案 &#xff08;部分有免费额度&#x…...

Linux-07 ubuntu 的 chrome 启动不了

文章目录 问题原因解决步骤一、卸载旧版chrome二、重新安装chorme三、启动不了&#xff0c;报错如下四、启动不了&#xff0c;解决如下 总结 问题原因 在应用中可以看到chrome&#xff0c;但是打不开(说明&#xff1a;原来的ubuntu系统出问题了&#xff0c;这个是备用的硬盘&a…...

JDK 17 新特性

#JDK 17 新特性 /**************** 文本块 *****************/ python/scala中早就支持&#xff0c;不稀奇 String json “”" { “name”: “Java”, “version”: 17 } “”"; /**************** Switch 语句 -> 表达式 *****************/ 挺好的&#xff…...

【学习笔记】深入理解Java虚拟机学习笔记——第4章 虚拟机性能监控,故障处理工具

第2章 虚拟机性能监控&#xff0c;故障处理工具 4.1 概述 略 4.2 基础故障处理工具 4.2.1 jps:虚拟机进程状况工具 命令&#xff1a;jps [options] [hostid] 功能&#xff1a;本地虚拟机进程显示进程ID&#xff08;与ps相同&#xff09;&#xff0c;可同时显示主类&#x…...

Spring数据访问模块设计

前面我们已经完成了IoC和web模块的设计&#xff0c;聪明的码友立马就知道了&#xff0c;该到数据访问模块了&#xff0c;要不就这俩玩个6啊&#xff0c;查库势在必行&#xff0c;至此&#xff0c;它来了。 一、核心设计理念 1、痛点在哪 应用离不开数据&#xff08;数据库、No…...

python报错No module named ‘tensorflow.keras‘

是由于不同版本的tensorflow下的keras所在的路径不同&#xff0c;结合所安装的tensorflow的目录结构修改from语句即可。 原语句&#xff1a; from tensorflow.keras.layers import Conv1D, MaxPooling1D, LSTM, Dense 修改后&#xff1a; from tensorflow.python.keras.lay…...

C++使用 new 来创建动态数组

问题&#xff1a; 不能使用变量定义数组大小 原因&#xff1a; 这是因为数组在内存中是连续存储的&#xff0c;编译器需要在编译阶段就确定数组的大小&#xff0c;以便正确地分配内存空间。如果允许使用变量来定义数组的大小&#xff0c;那么编译器就无法在编译时确定数组的大…...