解释用于获取文件名的 linux 正则表达式

2023-12-02

任何人都可以帮助我解释为什么使用这种方式获取文件名。 例如:该文件是:

fileName = "/Users/test/am01/output/output.log"
fileName=${fileName##*/}

然后我们得到

fileName = output.log

你们能帮我解释一下 ##* 的含义吗,我对这个正则表达式很困惑。

除此之外,还有一个这样的例子:

filename="testdata.done"
echo ${filename%.done}
then we got test data

% 是什么意思,我从来没有见过这个正则表达式。


这不是正则表达式,如果它是魔法的话。 这guide says:

${string##substring}

从 $string 前面删除 $substring 的最长匹配项。

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

解释用于获取文件名的 linux 正则表达式 的相关文章

  • 当在 python linux 中执行命令 os.system() 时,在 python 中给出响应 yes/no

    考虑一个像这样的命令 yum install boto 当我在终端中执行时 要继续 会询问我是 否 我可以像这样用 python 回应它吗 os system yum install boto Next Yes 将通过相同的 python
  • 无法连接到 Azure Ubuntu VM - 公钥被拒绝

    我们在 Azure 上使用 Ubuntu VM 一段时间了 很少遇到任何问题 然而 其中一台虚拟机最近出现了问题 出乎意料的是 Ubuntu VM 开始拒绝公钥 ssh i azure key email protected cdn cgi
  • C++ Linux GCC 应用程序中的 GUID

    我有很多服务器运行这个 Linux 应用程序 我希望他们能够生成一个碰撞概率较低的 GUID 我确信我可以从 dev urandom 中提取 128 个字节 这可能没问题 但是有没有一种简单易用的方法来生成与 Win32 更等效的 GUID
  • Python正则表达式替换引号中的文本(引号本身除外)

    例如 我有一个测试字符串 content I opened my mouth Good morning I said cheerfully 我想使用正则表达式删除双语音标记之间的文本 但不删除语音标记本身 所以它会返回 I opened m
  • javascript从字符串创建不区分大小写的正则表达式

    我试图通过以不区分大小写的方式将输入与正则表达式匹配来进行验证 正则表达式作为对象上的字符串从服务中下来 我可能会得到类似的东西 regex ane 我可以执行以下操作 var rx new RegExp object regex The
  • 如何使用Java中的正则表达式删除字符串中的反斜杠?

    如何使用Java中的正则表达式删除字符串中的反斜杠 例如 hai how are you 我只想要 hai how are you str str replaceAll or str str replace replaceAll 将第一个参
  • 我可以在 Ubuntu 上使用 Homebrew 吗?

    我只是尝试使用 Homebrew 和 Linuxbrew 在我的 Ubuntu 服务器上安装软件包 但都失败了 这就是我尝试安装它们的方法 sudo apt get install build essential curl git m4 r
  • 提取单花括号内的值

    我想要一个收藏 value 一个字符串使用正则表达式 例如 lorem ipsum field1 lorem ipsum field2 lorem ipsum field1 lorem ipsum field2 field3 我会得到 fi
  • 每个虚拟主机的错误日志?

    在一台运行 Apache 和 PHP 5 的 Linux 服务器上 我们有多个带有单独日志文件的虚拟主机 我们似乎无法分离 phperror log虚拟主机之间 覆盖此设置
  • Linux 上的“软/硬 nofile”是什么意思

    当我尝试在RedHat EL5上安装软件时 我得到了错误 软 硬nofile的期望值是4096 而默认值是1024 我设法增加了这个数字 但我不知道参数是什么 他们指的是软链接和硬链接吗 我改变的方法是 a 修改 etc security
  • R正则表达式获取第二个下划线之前的所有文本

    s lt 1 343 43Hello 2 323 14 fdh 99H 在 R 中 我想使用正则表达式来获取第二个下划线之前的子字符串 如何使用一个正则表达式来完成此操作 另一种方法是用 分割 然后粘贴前两个 一些东西 paste sapp
  • 如何在C程序中直接改变显存映射来绘制像素(无需库函数)

    是否可以通过使用 C 程序更改 RAM 中屏幕 视频即监视器 内存映射中的值来显示黑点 我不想使用任何库函数 因为我的主要目标是学习如何开发简单的操作系统 我尝试访问起始屏幕内存映射 即 0xA0000 在 C 中 我尝试运行该程序 但由于
  • 重新链接匿名(未链接但打开)文件

    在 Unix 中 可以创建匿名文件的句柄 例如 使用 creat 创建并打开它 然后使用 unlink 删除目录链接 留下一个带有 inode 和存储的文件 但没有可能的方法重新打开它 此类文件通常用作临时文件 通常这就是 tmpfile
  • 使用 Vala 和 GLib 的正则表达式

    有没有一个函数 比如http php net manual en function preg match all php http php net manual en function preg match all php 使用 GLibh
  • X 按键/释放事件捕获,与焦点窗口无关

    我想记录所有传入的按键事件 无论哪个窗口处于焦点状态或指针位于何处 我编写了一个示例代码 它应该捕获当前焦点窗口的按键事件 include
  • 如何使用 java.util.regex.* 执行部分匹配?

    我一直在使用 java util regex 类来实现 Java 中的正则表达式 到目前为止一切都很好 但今天我有一个不同的要求 例如 考虑模式为 aabb 现在 如果输入字符串是 aa 它肯定不匹配 但是如果我附加 bb 它仍然有可能变成
  • Notepad++:: 通过正则表达式完全删除包含问号的行

    嗯 我想这就是我的标题 这对于我将要实现的目标来说是不言自明的 这是我当前的文本文件的示例 Diva was the winning song of the Eurovision Song Contest 1998 Who will win
  • PCRE 匹配 C 中的所有组

    我想使用 PCRE C 库递归地匹配一个组 e g pattern d subject 5 6 3 2 OVECCOUNT 30 pcrePtr pcre compile pattern 0 error erroffset NULL rc
  • 设置 Vim 背景颜色

    当我尝试更改背景颜色时 vimrc或者直接在 Vim 中使用以下命令 set background dark 这根本不影响我的背景 也没有light选项 不过 当我运行 gvim 时 看起来还不错 有没有办法在不更改 Konsole 设置的
  • 如何构建印度尼西亚电话号码正则表达式

    这些是一些印度尼西亚的电话号码 08xxxxxxxxx 至少包含 11 个字符长度 08xxxxxxxxxxx 始终以 08 开头 我发现这个很有用 Regex regex new Regex 08 0 9 0 9 0 9 0 9 0 9

随机推荐

  • 如何将附加属性设置为布尔值

    我正在尝试设置附加属性元素添加到 Open API Schema 3 X 中 但不幸的是我无法在文档中找到任何可以帮助我的内容 我在 Spring boot 中有一个应用程序 它使用 Spring doc OAS 该 OAS 依赖于 Swa
  • 如何从网址中删除问号[重复]

    这个问题在这里已经有答案了 有什么办法可以删除网址中的问号吗 现在假设 URL 可以是http www domain com profile a 10但也可以是http www domain com profile b ticket 所以在
  • 使用 git Branch -f 或 git update-ref 快进现有分支是否更好?

    我意识到我可以使用git update ref快进我不在的现有分支 然后我发现类似的事情可以通过git branch f 我明白那个git update ref更加灵活 它可以移动任何参考 但这可能很危险 那么是不是更好用git branc
  • Sass中如何给全局变量赋值?

    我运行这个 Sass 代码 a 1 if 2 2 4 a 2 debug a 我期望看到 2 然而 输出是 Line 5 DEBUG 1 我知道 Sass 创建了一个新的 a里面的变量 if范围 我怎样才能改变这种行为并为全局分配一个值 a
  • SQLite UPSERT /更新或插入

    我需要对 SQLite 数据库执行 UPSERT INSERT 或 UPDATE 有一个命令 INSERT OR REPLACE 在许多情况下很有用 但是 如果您想由于外键而保留自动增量的 id 则它不起作用 因为它会删除该行 创建一个新行
  • 在 Perl 中打开和读取文件的最佳方法是什么?

    请注意 我并不是在寻找打开 读取文件的 正确 方式 或者每次都应该打开 读取文件的方式 我只是有兴趣了解大多数人使用什么方式 也许同时学习一些新方法 我的 Perl 程序中一个非常常见的代码块是打开一个文件并对其进行读取或写入 我见过很多这
  • 如何在 OpenGLES 中获取图像变量的绑定点

    我正在尝试在 GLES 着色器中获取图像变量的绑定点 我可以使用该代码对制服或着色器存储块执行此操作 GLenum Prop GL BUFFER BINDING GLint Binding 1 GLint ValuesWritten 0 g
  • 如何在JavaCC中使用反斜杠转义字符换行?

    我有一个任务是创建一个词法分析器 除了一点之外 我已经一切正常 我需要创建一个接受新行的字符串 并且该字符串由双引号分隔 该字符串接受任何数字 字母 某些指定的标点符号 反斜杠和分隔符内的双引号 我似乎不知道如何转义新行字符 是否有某种方法
  • SQLite:如何将查询结果保存为 CSV 文件?

    有没有办法可以将查询结果导出到 CSV 文件中 From here和 d5e5 的评论 您必须将输出切换到 csv 模式并切换到文件输出 sqlite gt mode csv sqlite gt output test csv sqlite
  • 将 YYYYMMDD 字符串转换为 Go 中的有效日期

    我想转换一个字符串 20101011 到有效日期 2010 10 11 但无法弄清楚我们该怎么做 I tried now time Now date now Format 20101011 and date time Parse 20101
  • Android:如何使用 Parse 作为替代 GCM 推送通知提供程序?

    请参阅问题末尾的 EDIT 2 Google 更新了推送的实现方式 因此更容易一起处理 gcm 和解析 我已经在应用程序中使用了 GCM 我想添加解析作为替代方案 这就是我现在所拥有的 所有权限都已正确声明
  • 从资源加载和解析 xml 时出现问题

    我已经编写了一个解析器 它可以从 HttpURLConnection 解析 xml 文件 这很好用 问题 我需要重写这个 以便从本地资源而不是从互联网加载 xml 文件 但我无法让它工作 只是为了让您了解原始 Web 解析器的外观 Inpu
  • 错误:在 Android Studio 中找不到名称为“default”的配置

    我正在使用 volley 库在 android 中执行网络操作 所以我试图在我的项目中添加这个库 该项目是在 Android Studio 和 gradle 系统中创建的 我在项目中添加了 volley 库 但是当我与 gradle 同步时
  • 条件 C# 二进制序列化

    我正在使用 BinaryFormatter 按条件序列化类及其变量 例如 Serializable public class Class1 private Class2 B Serializable public class Class2
  • 将参数传递给 eventListener 函数

    我有这个函数 check e 当我将其添加到 eventListener 时 我希望能够从 test 传递参数 这可能吗 就像说让 mainlink 变量传递参数一样 这还好吗 我把javascript放在下面 我也把它放在jsbin上 h
  • 在 boost::shared_ptr 运算符 bool() 上旋转时需要 C++ 易失性吗? [复制]

    这个问题在这里已经有答案了 可能的重复 何时在多线程中使用 易失性 我有两个线程引用相同的内容boost shared ptr boost shared ptr
  • 如何使用 angular5 防止 Dialog 在有角度的材料中打开两次

  • MATLAB 调试器不再显示行号

    我不完全确定如何 但我的 MATLAB R2013b 副本已停止显示错误发生在哪一行 我只会收到如下错误 下标分配尺寸不匹配 但没有行号与之配合 所以我不知道我的代码的哪一部分导致了问题 我是否搞乱了某个地方的设置 通过 首选项 gt 编辑
  • Python input() 函数中的 NameError [重复]

    这个问题在这里已经有答案了 input var input Press E and Enter to Exit NameError name e is not defined 我正在使用Python 2 5 我怎样才能克服这个错误 inpu
  • 解释用于获取文件名的 linux 正则表达式

    任何人都可以帮助我解释为什么使用这种方式获取文件名 例如 该文件是 fileName Users test am01 output output log fileName fileName 然后我们得到 fileName output lo