linux-bash基础特性-通配符

2023-10-27

globbing:通配符

文件名通配(整体文件名匹配,而非部分)


匹配模式:元字符
*:匹配任意长度的任意字符

ab*:ab开头的单词

*ab*:包含ab的单词

*ab:ab结尾的单词

*a*b*:包含a、b的单词


?:匹配任意单个字符

ab?:ab开头的三个字符的单词

??ab:ab结尾四个字符的单词

a?b:a开头、b结尾三个字符的单词

a?b?:a+任意字符+b+任意字符的四个字母组成的单词


[]:匹配指定范围内的任意单个字符

 

当LANG=C时,[a-z]其实是a,b,c...z,所有小写字母

当LANG=utf8时,[a-z]其实是a,A,b,B,c,C...y,Y,z,包括除z意外的所有字母

[a-Z]这个集合本身代表所有字母,包括大小写。


有几种特殊格式:(当LANG=utf8)

[a-z]:匹配字母,包括除z意外的所有字母

[A-Z]:匹配单个大写字母

 [0-9]:匹配数字

 [a-z0-9]:匹配任意字母或数字

[[:upper:]]:所有大写字母
[[:lower:]]:所有小写字母
[[:alpha:]]:所有字母
[[:digit:]]:所有数字
[[:alnum:]]:所有的字母和数字
[[:space:]]:所有空白字符
[[:punct:]]:所有标点符号

[^]:匹配指定范围外的任意单个字符
[^[:upper:]] :非大写字母
[^0-9]:非数字

[^[:alnum:]]:非字母数字



举例:
1.显示/var目录下所有以l开头,以一个小写字母结尾,且中间出现一位任意字符的文件或目录;

ls -d /var/l?[[:lower:]] 

ls -d /var/l?[a-z]




2.显示/tmp 目录下,以任意一位数字开头,且以非数字结尾的文件或目录;
ls -d /etc/[0-9]*[^0-9]

3.显示/etc目录下,以非字母开头,后面跟一个字母及其它任意长度任意字符的文件或目录;

ls -d /tmp/[^[:alpha:]][[:alpha:]]*




4.复制/etc目录下,所有以m开头,以非数字结尾的文件或目录至/tmp/test目录;

cp -r /etc/m*[^0-9] /tmp/test/




5.复制/usr/share/man目录下,所有以man开头,后跟一个数字结尾的文件或目录至/tmp/man/目录下;

cp -r /usr/share/man/man[[:digit:]] /tmp/man/



6.复制/etc目录下,尾,且以m,n,r,p开头的文件或目录至/tmp/conf.d/目录下;
cp -r /etc/[mnrp]*.conf /tmp/conf.d/


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

linux-bash基础特性-通配符 的相关文章

  • 我应该如何从非 root Debian Linux 守护进程登录?

    我正在编写一个新的守护进程 它将托管在 Debian Linux 上 我发现 var log 具有仅 root 写入权限 因此我的守护进程无法在那里写入日志文件 但是 如果它写入那里 它似乎将获得自动日志轮转 并且也按照用户期望的方式工作
  • Linux GCC 上 的 C++ 编译问题

    尝试过谷歌并在这里搜索 但没有运气 我正在尝试将一些使用 Windows 的代码移植到 Linux 上 然后我得到了大量的编译错误 我所做的只是 include
  • c - 后台运行的程序的退出状态

    我有一个任务 其中我必须创建一个迷你 shell 它能够执行很多操作 包括作业控制 我设法使用 fork 和 execvp 创建新的工作 但我还想获取 execvp 运行的程序的退出代码 根据我从其他帖子中查找到的内容 我可以使用以下方法来
  • Zip 实用程序在 Linux 中每次都给我不同的 md5sum

    当我在 Linux 中压缩 Zip 2 31 同一个文件时 每次都会得到不同的校验和 如何保持上次的 md5sum 相同 我正在使用 yum 提供的最新 zip 更新 生成的存档不仅包含压缩文件数据 还包含 额外的文件属性 如参考zip 文
  • top命令的CPU使用率计算

    我正在尝试使用 GNU coreutil top 的公式来计算 CPU 使用率的百分比 但 top 正在使用一些 half total 来计算百分比 即在百分比上添加 0 5 在top的utils c中 以下行 在 3 8 beta1 中
  • 如何安装 Node 和 NPM 以便不必使用 sudo?

    我正在尝试在 Ubuntu 14 04 计算机上设置 Node js 和 NPM 但遇到了一些问题 在我的第一次尝试中 我不断得到EACCES尝试安装软件包时出错 有时甚至使用sudo 所以我彻底卸载了node和npm 现在我正在尝试找出如
  • 如何在不需要设置 LD_LIBRARY_PATH shell 变量的情况下输入“cargo run”?

    我构建了一个 Rust 程序 通过 C 接口调用 C 函数 为了执行该程序 我必须运行 export LD LIBRARY PATH
  • ngx_http_brotli_filter_module.so" 与 /etc/nginx/nginx.conf:1 中的二进制不兼容

    Using Nginx 1 17 3 and Nginx 1 14 0在两台独立服务器上的 Ubuntu 18 上 两者都显示相同的错误ngx http brotli filter module so is not binary compa
  • 如何可视化包含/指向彼此的 C 结构图?

    我正在使用Ubuntu 10 04 正在研究内核对象的编程 我遇到了一些相当复杂的结构 我很难阅读 所以我想我应该尝试找到一些可以帮助我可视化它们的工具 到目前为止我唯一能找到的是VCG http rw4 cs uni sb de sand
  • java轻量级调试器[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我正在寻找一个轻量级的 java 调试器 无论是在 IDE 中还是独立的 命令行或 GUI 中 我正在使用 ant 和 vim 并且尝试过
  • 使用 localinstall 更新 yum 包

    如果使用安装包yum 本地安装像这样 yum y localinstall nogpgcheck some package 1 0 0 rpm 现在 如果我尝试运行 yum y localinstall nogpgcheck some pa
  • 如何从 Windows 反编译 Linux 二进制文件?

    如何从 Windows 反编译 Linux 二进制文件 so 谢谢 你可以试试回旋镖 http boomerang sourceforge net 您需要首先从源代码构建它 因为提供的二进制文件不涵盖这种情况 如果您绝对拒绝编译任何内容 请
  • Rsync 制作平面副本

    我正在尝试编写一个脚本 将一个目录 带有子目录 的所有文件复制到另一个目录的根目录 所以想象一下我有这个文件结构 pic JPG PIC5 JPG FOLDER pic2 JPG pic3 JPG FOLDER2 pic4 JPG 我想要该
  • Linux C++ 调试器

    我正在寻找完美的 Linux C 调试器 我不期望成功 但搜索应该提供丰富的信息 我是一个非常有能力的 gdb 用户 但 STL 和 Boost 很容易压垮我的调试技能 并不是说我无法深入了解数据结构的内部结构 而是它需要很长时间 我通常会
  • BASH:[ ](测试)行为不一致

    在我的狂欢中test有态度以身份退出0 test n echo true echo false gt true while test n echo true echo false gt false 这意味着当它根本没有收到任何参数时 它假设
  • ModuleNotFoundError:尽管已安装,但没有名为“PyDIP”的模块

    尝试使用图像识别 我安装了带有 OpenCV 的 Python 如下本教程 https www pyimagesearch com 2018 08 15 how to install opencv 4 on ubuntu 后来 我决定尝试一
  • 将 jiffies 转换为毫秒

    如何在 Linux 中手动将 jiffies 转换为毫秒 反之亦然 我知道内核 2 6 有这个功能 但我正在研究 2 4 家庭作业 虽然我查看了代码 但它使用了很多宏常量 我不知道它们是否在 2 4 中定义 正如之前的答案所说 jiffie
  • Linux 相当于 GetCommandLine 和 CommandLineToArgv?

    我想知道是否有一些 API 可以在 Linux 上获取当前进程的命令行参数 我想我是非常不清楚的 该问题的真正目的是通过命令行参数传递 unicode 文件名 从文件中读取 proc self cmdline 例如 wallyk zf od
  • 如何显示带有完整路径或文件名的“grep”结果[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 使用时如何获取完整的文件路径grep 我使用类似的命令 cat log grep somethingtosearch 我需要显示结果以及从
  • 对于 Linux 上的 ARM,从 *.hex 转换为 *.bin

    我想使用以下命令将程序上传到我的 STM32F4 Discovery 板st flash命令 问题是当我尝试上传 hex 或 elf 文件时 它不起作用 我尝试了多种方法 例如使用 xxd 从 elf 或 hex 转换为 bin 但当我上传

随机推荐

  • Fiddler抓包工具笔记

    一 简介 Fiddler代理相当于中介的角色 快捷键Shift F5去缓存刷新 二 抓包 1 设置过滤器 没有设置过滤器的话 会抓所有的包 非常乱会混淆 隐藏包含这些内容的URL 2 快速定位到需要的包 点击 Webforms菜单 界面分析
  • c++如何的倒计时如何停止并退出_合伙人退出时,该如何确定退出价格?

    这个问题问得特别好 相信这不单单只有题主有这方面的困惑 任何处于创业初期的合伙人们都会遇到合伙人的问题 今天接着这个提问 我们就来好好聊聊合伙人 希望会对各位创业者们有所启发 当然 如果你有企业经营方面的问题 也可以在线向我提问 一 哪些人
  • SaltStack installation & configuration

    四大功能 远程执行 配置管理 云管理 事件驱动 安装 https www cnblogs com xintiao p 10380656 html wget O etc yum repos d CentOS Base repo http mi
  • 信号量的实现和应用(一)

    生产者 消费者问题 从一个实际的问题 生产者和消费者出发 谈一谈为什么需要信号量 信号量用来做什么 问题描述 现在存在一个文件 buffer txt 作为一个共享缓存区 缓冲区同时最多只能保存10个数 现在一个生产者进程 依次向缓冲区写入整
  • 解决VSCode中python输出中文乱码的问题

    问题描述 在用python的print的时候 输出的中文出现乱码 解决方法 找到VSCode的用户配置文件 按下CTRL SHIF P 出现搜索框 在搜索框中输入 open user setting 然后就可以找到用户配置文件 json 打
  • 蓝桥杯算法训练VIP-方格取数

    题目 题目链接 题解 动态规划 本题和这个题几乎是完全一样 那个博客写的巨清楚 所以这里不写了 代码 include
  • Redis的Jedis连接池

    Jedis本身是线程不安全的 并且频繁的创建和销毁连接会有性能损耗 因此我们推荐大家使用Jedis连接池代替Jedis的直连方式 public class JedisConnectionFactory private static fina
  • BDD100K数据集下载和标签格式转换问题

    BDD100K数据集下载和标签格式转换问题 数据集介绍 加州大学伯克利分校的Berkeley DeepDrive数据集由超过100K的视频序列组成 包含各种各样的注释 包括图像级标记 对象边界框 可行驶区域 车道标记和全帧实例分割 数据集具
  • python中解决import matplotlib.pyplot as plt 出现报错:OSError: [WinError 193] %1 不是有效的 Win32 应用程序

    先上代码 import matplotlib pyplot as plt squares 1 4 9 16 25 fig ax plt subplots ax plot squares plt show 在pycharm运行出现报错 而在s
  • 时间序列预测——时序卷积网络(TCN)

    本文展示了使用时序卷积网络 TCN 进行时间序列预测的全过程 包含详细的注释 整个过程主要包括 数据导入 数据清洗 结构转化 建立TCN模型 训练模型 包括动态调整学习率和earlystopping的设置 预测 结果展示 误差评估等完整的时
  • 终于支持 markdown 格式了

    print Hello MD
  • Pytorch虚拟环境搭建、训练unet、vit、yolov3

    一 搭建虚拟环境 手把手教你在win10下搭建pytorch GPU环境 Anaconda Pycharm 老潇的摸鱼日记 博客园 cnblogs com https www cnblogs com victorxiao p 1351225
  • 华为奇葩面试题登上热搜!「一头牛重800公斤一座桥承重700公斤,请问牛怎么过桥?」

    今日 知乎上有一道华为公司面试题 一头牛重800公斤一座桥承重700公斤问牛怎么过桥 目前这个话题已经登上了知乎热搜第三 这个问题到底是互联网大厂奇葩亦或是常规操作 这到底是道德的沦丧还是 下面就一起来看看神通广大的知乎热心网友是怎么解答的
  • 【基于python实现UI自动化】1.0 selenium工具介绍

    基于python实现UI自动化 1 0 selenium工具介绍 Selenium介绍 Selenium的发展 Selenium 1 Selenium 2 Selenium 3 Selenium 4 Selenium介绍 Selenium是
  • 【STM32WLE5之LoRa# 系列2、易智联LM401 评估板PingPong工程移植】

    STM32WLE5之LoRa 系列2 易智联LM401 评估板PingPong工程移植 前言 一 开发环境 1 STM32CubeMX与STM32CubeIDE软件安装 2 下载STM32WL固件库 二 硬件平台 三 PingPong例程的
  • 工厂模式(创建型)

    工厂模式有 简单工厂模式 工厂方法模式 抽象工厂模式 简单工厂模式 简单工厂模式的方法为 通过一个工厂 工厂里面有一个创建的函数 通过输入type 通过switch的匹配 匹配成功的话 创建相应的产品 没有的话 返回nullptr 具体的结
  • Spring cache

    文章目录 Spring cache 简单使用 注解缓存 Cacheable 键生成器 自定义的键生成器 带条件的缓存 CachePut CacheEvict Caching CacheConfig 使用Spel表达式 使用xml配置缓存 以
  • win10如何添加开机自己启动软件

    win10添加开机自启动软件的方法 Win10添加自动运行软件的方法 打开C Users 用户 AppData Roaming Microsoft Windows Start Menu Programs Startup 注意此处的用户是具体
  • 趣链科技解读区块链技术及其产业应用

    陀螺公开课 是定位于区块链行业的线上精品教育课程 以视频的形式传递行业思考 内容板块包括技术前沿 产业案例 领袖视野 学术思想 名人演讲等 通过邀请行业领域专家线上讲课 及开放高质量视频投稿 为用户提供优质的区块链学习内容 陀螺公开课第二期
  • linux-bash基础特性-通配符

    globbing 通配符 文件名通配 整体文件名匹配 而非部分 匹配模式 元字符 匹配任意长度的任意字符 ab ab开头的单词 ab 包含ab的单词 ab ab结尾的单词 a b 包含a b的单词 匹配任意单个字符 ab ab开头的三个字符