`
诗意的栖居
  • 浏览: 267230 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

Useful Shell Option – extglob 和 shopt命令

阅读更多
Bash Shell有个extglob选项,开启之后Shell可以另外识别出5个模式匹配操作符,能使文件匹配更加方便。

开启方法很简单,使用shopt命令:shopt -s extglob
关闭,使用shopt命令:shopt -u extglob

开启之后,以下5个模式匹配操作符将被识别:

?(pattern-list) - 所给模式匹配0次或1次; *(pattern-list) - 所给模式匹配0次以上包括0次;+(pattern-list) - 所给模式匹配1次以上包括1次; @(pattern-list) - 所给模式仅仅匹配1次;!(pattern-list) - 不匹配括号内的所给模式。


示例


删除文件名不以jpg结尾的文件:


rm -rf !(*jpg)

删除文件名以jpg或png结尾的文件:

rm -rf *@(jpg|png)


shopt命令

内置命令shopt(shell option)开启、关闭和列出那些控制着shell行为的某些bash特性。举例来说,下面的命令将使bash在扩展模糊文件引用时,包含那些以句号(.)开头的文件名,-s表示设置:

  $ shopt -s dotglob

  通过下面的命令可将这项特性关闭(默认),-u表示取消设置:

  $ shopt -u dotglob

  如果只将特性的名称作为shopt唯一的参数,shell显示该特性是如何设置的:

  $ shopt dotglob

       dotglob off

  命令shopt不带任何选项或者参数时,将列出由shopt控制的那些特性及其状态。命令shopt -s不带参数时,将列出那些由shopt控制并设置为开启的特性。命令shopt –u将列出那些被取消或者关闭的bash特性。表8-13列出了bash特性。

  使用shopt设置set ±o特性

  提示 可以使用shopt设置或者取消那些由set ±o控制的特性。使用常规的shopt –s或者-u语法,并包含-o选项。举例来说,下面的命令将开启noclobber特性:

  $ shopt –o –s noclobber



分享到:
评论

相关推荐

    set和shopt命令[定义].pdf

    set和shopt命令[定义].pdf

    Shell中set与shopt命令选项的含义和使用示例

    主要给大家介绍了关于Shell中set与shopt命令选项的含义与使用的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。

    shopt命令 设置控制shell行为变量的开关

    shopt命令可以设置哪些控制着Shell行为特性的变量的开关值,以达到控制Shell行为的目的。当执行命令shopt不带任何参数时,将列出由shopt控制的那些特性及其状态。 语法格式:shopt [参数] 常用参数: -s 不带...

    dotfiles:。文件

    点文件安装存储并克隆仓库: apt-get install stowgit clone git@github.com:kellen/dotfiles.git ~/projects/dotfiles如果这是一个新系统, extglob可能需要启用extglob : shopt -s extglob如果dotfiles有顶级目录...

    使用bash shell删除目录中的特定文件的3种方法

    我是一名Linux新用户。现在我需要清理一个下载目录中的文件,其实我就是想从~/Download/文件夹删去除了以下格式的文件外所以其它文件: 1.*.iso – 所有的iso格式的文件。...这里你需要用系统内置的shopt命令来开启

    2009 达内Unix学习笔记

    命令和参数之间必需用空格隔开,参数和参数之间也必需用空格隔开。 一行不能超过256个字符;大小写有区分。 二、特殊字符含义 文件名以“.”开头的都是隐藏文件/目录,只需在文件/目录名前加“.”就可隐藏它。...

    Linux 101 hacks (2nd)

    技巧6:用―shopt –s cdspell‖自动纠正―cd‖命令的目录名输入错误 第二章:日期操作 技巧7:设置系统日期和时间 技巧8:设置硬件日期和时间 技巧9:用特定格式显示当前时间 技巧10:显示过去的日期和时间 技巧11...

    在 Linux 中不使用 CD 命令进入目录/文件夹的方法

    shopt 是一个 shell 内置命令,用于设置和取消设置各种 bash shell 选项,由于它已安装,因此我们不需要再次安装它。 是的,我们可以在启用此选项后,可以不使用 cd 命令切换目录。 我们将在本文中向你展示如何操作...

    Shell中删除某些文件外所有文件的3个方法

    我的一位同事曾经问过我这样一个问题:在 Linux 下,如何 删除目录中除某些文件之外的...shopt -s extglob # 确认开启 extglob 选项 cd ~/Downloads rm -v !(*.iso|*.zip) !(pattern list) 的作用是匹配除 pattern li

    shell脚本实现linux系统文件完整性检测

    今天发现个可以检测系统文件完整性的shell脚本,自己试了下还可以吧,介绍给大家。 系统:centos 5.x 脚本内容: 代码如下: cat my_filecheck.sh #!/bin/bash # # 变量首先声明才能使用 shopt -s -o nounset   # ...

    koko:一种对 shell 友好的小型编程语言,又名 `

    他知道大量的编程语言和东西,但他真的更喜欢尽可能只使用简单的 shell 脚本。 他对软件项目的完美柏拉图式想法是由几个 shell 脚本、一个Dockerfile 、可能是一个用于运行各种任务的Makefile以及一个带有环境变量...

    matlab中的代码段删除-manifold:查看皮层表面数据

    option in BASH is on # extended globbing of files... shopt -s extglob for fname in +(rh|lh).+([a-z]) ; do echo "convert $fname to $fname.vtk"; done for fname in +(rh|lh).+([a-z]) ; do mris_convert $...

    BashConfig:BASH配置文件

    启用了几个有用的shell选项( shopt )和设置( set )。 微妙的,一致的颜色-绝对找不到彩虹! 各种鲜为人知的export用法,例如ps和time工具。 手册页上使用了一层新鲜的油漆,以便于阅读。 甚至在别名和函数...

    Redis集群安装问题记录 RVM

    Redis集群安装问题记录 RVM1、问题描述2、问题分析3、问题解决4、总结 1、问题描述   使用gem安装redis出现以下错误。 ERROR: Error installing redis: redis requires Ruby version >= 2.3.0. ...shopt -s extglob

    点:阿奇的点

    点 我的工作笔记本电脑和个人台式机的点文件。 两台机器之间略有不同,因此此git仓库为两台机器都有两个分支。 目标是安装500个或更少软件包的功能系统。... $ shopt -s dotglob # Enables to move dotfiles $ m

    termshare:在网络上分享您的终端历史记录

    您可以使用以下命令克隆此存储库(需要安装git)。 git clone https://github.com/fdiblen/termshare.git 1-重击外壳 .bashrc添加到您的.bashrc export HISTTIMEFORMAT= " %s (%H:%M:%S): " export HISTSIZE=...

    xen-cow-checkpointing:Xen 3.2.2 中的写时复制 VM 检查点

    假设32 位 Xen 管理程序和 32 位 PV 或 32 位 HVM 来宾不支持 PAE 模式SHADOW OPTIMIZATIONS关闭, SHOPT_PREFETCH关闭实施细则影子日志脏模式用于拦截内存写入。 所有页面都标记为只读。 写入被拦截,目标页面被...

    kallistobustools:卡利斯托| 用于预处理单细胞RNA序列数据的bustools工作流程

    kallistobustools ...shopt -s globstar # enables recursive function calls jupyter nbconvert --to markdown ** / * .ipynb # generates markdown from notebooks 然后,对您的教程的引用将添加到tutor

    Fedora-33-VFIO-Guide:Fedora 33中用于GPU直通的VFIO配置

    Fedora 33 VFIO指南 这就是我在Fedora 33上使用gpu passthrough的方式。它基于上的指南。 原始帖子中有一些错字。 可以在帖子中找到更正的内容,但我想将所有来源都放在一个地方。...shopt -s nullglob for g in /sy

    数据库系统分析.docx

    功能分析 数据库系统分析全文共4页,当前为第1页。 数据库系统分析全文共4页,当前为第1页。... shopt D,; 数据库系统分析全文共4页,当前为第4页。discout N) 数据库系统分析全文共4页,当前为第4页。 数据库系统分析

Global site tag (gtag.js) - Google Analytics