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基础特性-通配符 的相关文章

  • 如何每周日运行 crontab 作业

    我想弄清楚如何每周周日运行 crontab 作业 我认为以下应该可行 但我不确定我是否理解正确 下面的说法正确吗 5 8 6 这是 crontab 格式的解释 1 Entry Minute when the process will be
  • 在 Bash 中使用“$RANDOM”生成随机字符串

    我正在尝试使用 Bash 变量 RANDOM创建一个由包含整数和字母数字的变量中的 8 个字符组成的随机字符串 例如 var abcd1234ABCD 我怎样才能做到这一点 使用参数扩展 chars 是可能的字符数 是模运算符 chars
  • 如何在 .zip 文件中使用 grep

    有 3 个文件 a csv b csv c csv 压缩为 abh zip 现在可以在 abh zip 上执行 grep 命令 是否有任何通配符 仅对里面的 c csv 文件运行 grep压缩 如果你有zipgrep 据我所知 它是随zip
  • 如何在Linux中获取带有图标的活动应用程序

    我想找到一种方法获取活动应用程序的列表及其名称和图标 实际上 我正在使用此命令来获取所有活动进程 wmctrl lp 示例输出 0x03800002 0 3293 user notebook XdndCollectionWindowImp
  • /proc/kmsg 和 dmsg 有什么区别?

    我们通常这样做cat proc kmsg or dmesg从用户空间查看内核日志 我明白了dmesg是一个循环缓冲区 它从kmsg 但是kmsg也不是循环缓冲区 它们之间有什么区别和联系呢 宽松地说 dmesg 是一个转储 proc kms
  • 主动\被动模式下 FTP 服务器的适当 iptables 规则

    我在 CentOS6 上安装了 ProFTPD 服务器 如果我使 ftp 本地主机 我可以正确连接 但如果我从外部尝试 我会收到消息 没有到主机的路由 但有一条到主机的路由 因为我是通过 SSH 连接的 我尝试添加以下 iptable 规则
  • 检测后台操作

    在C中 检测程序在 后台模式 下调用的方法是什么 我有一个程序想要以交互方式或在后台启动 我怎样才能检测到我不应该从标准输入读取并以 已停止 tty 输入 状态结束 我应该测试 stdin 是否已关闭 我怎样才能做到这一点 编辑 isatt
  • Powershell从Linux客户端连接到Windows远程

    我正在尝试从我的 Linux 工作站远程连接到 Windows 计算机 我在 Arch Linux 工作站上安装了 powershell 目前正在尝试连接到主机 在主机上 Enable PSRemoting 然后允许所有主机Set Item
  • 在 Windows 下对 Unix 下创建的文件使用 fstream::seekg

    我有一个C 跨平台程序 在Linux下用g 编译 在PC下用Visual Studio编译 该程序将行写入文本文件 使用 lt lt 运算符和std endl 但也可以从生成的文本文件中读回数据 使用std getline 为了优化数据访问
  • 如何在 arago 项目构建中编写自己的食谱包

    我如何在 arago 项目构建中编写自己的食谱包 我知道它可以是 bitbake 文件 但我怎么写 不知道 我在互联网上搜索 但未能找到任何好的来源 有人可以给我提供链接或示例来开始吗 RegardsLinux 学习者 使用 Bitbake
  • Linux 从设备本身运行的脚本卸载设备

    我在路径中安装了一个 iso 映像 mnt iso 在这个 iso 中我有一个安装脚本 install sh 我从 iso 运行安装脚本 最后脚本询问用户是否要卸载 iso 本身 如果用户按 y 脚本将执行以下代码 cd umount mn
  • “设置:非法选项 -”在一台主机上,但在另一台主机上则不然

    我在我的一台 ubuntu 虚拟机中编写了一个 sh 脚本 该脚本工作正常 但是当我尝试在其他虚拟机中运行它时 它不起作用 两个虚拟机应该相同 和bash version两个虚拟机均回复 GNU bash version 4 3 11 1
  • 如何删除名称最大的目录?

    我有一个包含子目录的目录 其中一些名称是数字 不看的话 我不知道数字是多少 如何删除名称最大的子目录 我认为解决方案可能会将子目录按相反顺序排序 并选择以数字开头的第一个子目录 但我不知道该怎么做 感谢您的帮助 cd yourdir go
  • 使用 SED 将单词的第一个字母大写

    如何将单词的第一个字母替换为大写字母 例如 Trouble me Gold rush brides into Trouble Me Gold Rush Brides 这一行应该做到这一点 sed e s b u 1 g
  • linux下X上的系统范围键盘钩子

    在 Linux X windows 上安装键盘挂钩以便在按下某些组合键时触发某些应用程序的最佳方法是什么 无论哪个窗口管理器正在运行 有没有办法做到这一点 这个想法是当按下某个键时调用一个应用程序 或带到前台 就像 Google 桌面上的
  • 真实设备中的 Android strace

    我有以下情况 我想监控Android手机上的系统调用 所以 我编写了一个脚本来做到这一点 使用 Android 模拟器可以完美地工作 将应用程序的痕迹写入我的 Ubuntu 上的特定文件中 问题是当我连接一个真实的手机来分析它时 它在结果文
  • 在 bash 脚本中设置变量[重复]

    这个问题在这里已经有答案了 test sh 包含 A 1 B 2 我将 test sh 设置为 chmod 777 我用两个参数启动脚本 test sh first last 然后我通过输入以下内容对其进行了测试 echo FirstVar
  • 如何通过jiffies实现经过时间

    我想了解如何在 C 中使用 jiffies 实现经过时间 假设我有一系列指令 include
  • 64 位上的 ASLR 和内存布局:是否仅限于规范部分 (128 TiB)?

    当加载启用 ASLR 的 PIE 可执行文件时 Linux 是否会限制程序段到规范部分 最多 0000 7fff ffff ffff 的映射 还是会使用完整的较低部分 起始位 0 显然 Linux 不会给你的进程提供不可用的地址 这会导致它
  • rusage 进程/线程的 Cpu 时间不可能

    我正在计算进程 线程正在使用的 cpu 时间之间的增量 以及某个函数的调用之间的增量 我得到了进程 cpu 时间不可能的值 有时下一次调用会返回较小的 cpu 时间 这是不可能的 这是我用来计算CPU时间的代码 u64 CpuTime ca

随机推荐

  • 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开头的三个字符