Bash 中的百分号,它有什么用? [复制]

2024-02-15

我有一个以以下结尾的文件名.zip我只想要不带 zip 的文件名。在这里我发现了bash的一个技巧。

$f="05 - Means-End Analysis Videos.zip"
$echo "${f%*.zip}"
05 - Means-End Analysis Videos

这里发生了什么?怎么会%*.zip正在删除我的扩展程序?


删除最短的匹配项string in $var从一开始就:

${var#string}

删除最长的匹配项string in $var从一开始就:

${var##string}

删除最短的匹配项string in $var从最后:

${var%string}

删除最长的匹配项string in $var从最后:

${var%%string}

Try:

var=foobarbar
echo "${var%b*r}"
> foobar
echo "${var%%b*r}"
> foo
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Bash 中的百分号,它有什么用? [复制] 的相关文章

  • 如何从 C 文件更改终端中的目录

    如何从 C 程序更改将在终端上生效的目录 实际上不要告诉 system 函数或 chdir 函数 这些仅适用于 C 中的进程或子 shell 假设我正在从 bash shell 执行一个 C 程序 其进程 ID 为 10223 那么 我可以
  • 寻找下一个开放端口

    有没有什么办法 使用基本的 Unix 命令 找到下一个未使用的端口号 从端口 4444 开始向上 我通过 ssh 通过 openssh 进入 Windows XP 计算机 运行 Cygwin 工具并使用 bash shell 谢谢 戴夫 尝
  • bash、zsh :声明 [*] (天哪)

    我正在使用具有以下语法的 bash 脚本 declare a THIS 这在 zsh 中似乎是非法的 我收到 未找到匹配项 THIS 错误 谁能帮我把它翻译成 zsh 吗 另外 什么是 语法是什么意思 我知道我们正在声明一个数组 但为什么要
  • 如何在 Bash 中为数组赋值?

    我正在尝试从文本文件中读取值列表 你好 txt 并将它们存储在一个数组中 counter 0 cat hello txt while read line do Unix Array counter line let counter coun
  • 按行号和列号对文件进行子集化

    我们想要按行和列对文本文件进行子集化 其中行数和列数是从文件中读取的 不包括标题 第 1 行 和行名称 第 1 列 输入文件 txt制表符分隔的文本文件 header 62 9 3 54 6 1 25 1 2 3 4 5 6 96 1 1
  • 在 Ubuntu 上纯粹通过 bash 脚本安装 mysql 5.7

    我想要一个无需任何手动输入即可安装 MySQL 5 7 实例的 bash 脚本 我正在关注数字海洋教程 https www digitalocean com community tutorials how to install mysql
  • 具有非阻塞读取功能的 Bash 脚本

    我想使用命名管道将一些数据发送到根进程 这是脚本 效果很好 bin sh pipe tmp ntp if p pipe then mknod m 666 pipe p fi while true do if read line lt pip
  • 执行 rvm use 2.0.0 --default 时收到“警告!路径未正确设置”

    以上第一次不起作用 第二次起作用 尝试将任何新 shell 窗口的 ruby 版本设置为 2 0 0 Doing rvm use 2 0 0 default gives Warning PATH is not properly set up
  • 从 bash 脚本运行节点

    很简单 我正在尝试使用 cron 自动运行 nodejs 脚本 但是脚本本身似乎无法运行该文件 我的脚本很简单 usr bin env node node var node assets js update js 但是 在运行此命令时 它返
  • 如何在 mac 中使用“getopt”命令让 bash 处理长参数?

    我想让我的 bash 脚本处理长参数 我发现getopt 但 OS X 不支持它 谁能告诉我为什么getoptBSD 实现了 GNU 没有实现 我尝试构建getopt在 GNU C lib 中 但由于我对 Linux 的技能不佳而失败了 有
  • Bash 脚本 - 迭代 find 的输出

    我有一个 bash 脚本 其中需要迭代 find 命令输出的每一行 但似乎我正在迭代 find 命令中的每个单词 以空格分隔 到目前为止我的脚本看起来像这样 folders find maxdepth 1 type d for i in f
  • `docker run` 输出到 bash 变量 - 奇怪的行为

    我看到一些奇怪的行为从docker run到 bash 变量中 简单的例子 bin bash PWD docker run rm ti ubuntu pwd 2 gt 1 also tried with PWD docker run wit
  • 自动检测log4j静态初始化错误的方法

    请注意 这更像是 Bash 问题 而不是 Java 问题 请参阅下面的注释 在每个类中配置log4j时 我们执行以下操作 public class Example private static final Logger log Logger
  • execlp 多个“程序”

    我想运行类似的东西 cat file tar base64 myprogram c base64 d tar zvt I use execlp运行该进程 当我尝试运行类似的东西时cat它有效 但如果我尝试运行base64 d tar zvt
  • CentOS目录结构是树形的吗?

    CentOS 上有相当于树的东西吗 如果你的 Centos 系统上没有安装 tree 无论如何我通常建议服务器设置使用最小安装磁盘 你应该在命令行中输入以下内容 yum install tree y 如果没有安装 那是因为您没有正确的存储库
  • BASH 脚本编译多个 C++ 文件 - OpenCV

    请参见在C 和OpenCV中调用其他文件中的函数 https stackoverflow com questions 24442836 call functions in other files in c and opencv 对于最初的问
  • 如何在bash中列出所有后台pid

    要么我无法正确表达我的搜索 要么答案不容易找到 但我正在尝试找出如何列出我的所有后台任务 PID 例如 到目前为止 我发现要列出我们使用的最后一个 PID 但现在我想列出之前任务的 PID 如果存在 但我找不到如何做到这一点 最终我想列出我
  • POSIX SH 构建循环变量,其元素包含空格

    这是我需要的代码 bin sh x1 a1 a2 x2 b1 b2 list SOMETHING for x in list do echo x done 以及我想要的输出 a1 a2 b1 b2 问题是 应该做什么SOMETHING是 我
  • 将“npm run start”的输出写入文件

    我想捕获的输出npm run start在一个文件中 我遇到了大量错误 我想更好地控制如何筛选输出 当我尝试时 npm run start gt log txt 我得到一个非常简短的文件 8 行 其结尾为 34m 39m 90m wdm 3
  • 目录 * 和文件顺序

    我需要将目录中的所有文件连接到一个文件 但具有指定名称的文件必须位于输出的顶部 只是在做cat gt result将按字母顺序连接所有文件 有什么办法告诉猫放置文件vars css或任何其他输出的开头 现在我只是重命名文件需要首先000 f

随机推荐

  • 货币代码为 es-419 的圣甲虫 (¤)

    2017 年 3 月 28 日更新 当您通过 Xcode 中的 编辑方案 设置应用程序的语言和区域时 您将获得组合的区域设置标识符es 419 MX 但是 当您通过进入设置来更改设备 模拟器的实际语言和区域时 您将获得 正确的 区域设置标识
  • Swift:如何从双精度数组中删除重复项?

    我有一个值数组 例如 0 75 0 0050000000000000001 0 0050000000000000001 0 0050000000000000001 0 0050000000000000001 0 00500000000000
  • 套接字使用特定的 DNS 服务器解析 DNS

    我想使用特定的 DNS 服务器解析 DNS 例如 Google 的 8 8 8 8 我的实际Python代码是 import socket def getIP d try data socket gethostbyname d ip rep
  • 重命名 SQL SELECT 语句中的列

    我想重命名结果中的列SELECT表达 当然 下面的方法是行不通的 SELECT AS foobar FROM foobar 由于我是 SQL 新手 我认为我只是缺少一个可以找到答案的概念 工具或关键字 正确方向的提示将不胜感激 谢谢 UPD
  • JBOSS 7 有两个上下文。一个具有 SSL 相互验证,另一个仅具有 SSL

    我们在配置您的 JBoss 时遇到问题 我们正在尝试对其进行配置 以便可以同时使用相互身份验证和不使用它 喜欢 https example com contextA https example com contextA 需要 SSL 相互验
  • Class.asSubclass 签名

    我的问题非常理论化 这是 Class asSubclass 的签名 Javadoc http docs oracle com javase 7 docs api java lang Class html asSubclass java la
  • C# File.Exists 返回 false,文件确实存在

    使用 VS 15 C 和 Net 4 5 2该计算机位于 AD 网络上 广告名称为 AD AD 普通用户权限 AD 管理员权限和本地管理员权限都会出现此问题 无论程序获得什么权限 都会出现同样的问题 我们的测试文件是 C windows s
  • 如何在 OSX 上正确安装 Python 以与 OpenCV 一起使用?

    在过去的几天里 我试图让 opencv 与我安装的 Python 2 7 一起工作 每当我尝试 导入 cv 时 我总是收到一条错误消息 提示未找到 opencv 模块 然后我决定尝试使用 Macports 安装 opencv 但这不起作用
  • 以编程方式将新的 Dojo AccordionPane 添加到现有 AccordionContainer

    我正在尝试向现有容器添加一个新的 AccordionPane 但我无法让它工作 有人能建议我哪里出错了吗
  • 检查专辑封面是否存在?

    我正在构建一个音乐播放器应用程序 我正在尝试填充一个recyclerView与歌曲的专辑艺术 我使用下面给出的代码成功地做到了这一点 但有些歌曲没有嵌入专辑封面 文件夹中没有任何专辑封面 因此 我试图在将专辑封面添加到之前检查专辑封面是否为
  • 致命错误:在 xampp 中找不到类“Mongo”

    我使用 Windows 7 64 位和 XAMPP for Windows 似乎找不到安装问题的解决方案 我已经阅读了 MongoDB 的 Windows 和 PHP 驱动程序安装指南 从 PHP 信息我的环境规格 XAMPP 1 7 4
  • 如何在 clang(或 gcc)中解析 C++ 名称?

    我正在尝试为 clang 编写一个快速而肮脏的解码器 我找到了一个一段代码 http squigglybrackets me 2013 02 11 demangling type names in clang 使用abi cxa deman
  • 将表单操作设置为外部 php 文件中的函数

    我是 PHP 的新手 有点 我环顾四周 找不到任何完全符合我的问题的信息 所以这里是 假设我声明了一个表单 有 2 个字段和一个提交按钮
  • C++ 指向成员函数的指针作为模板默认参数

    有可能吗 像这样 template lt typename C typename R typename A typename F R C A gt class MemberFuncPtr 是的 这是完全有效的 class X public
  • bcprov 和 bcprov-ext 有什么区别?

    我注意到 Java 有两个 bouncycastle 提供程序库 bcprov and bcprov 扩展 它们有何不同 我该如何选择使用哪一个 bcprov通常是您想要的库 bcprov 扩展包括一些晦涩的加密算法 自 v1 4 0 以来
  • 如何使用 Tensorflow 执行笛卡尔积? [复制]

    这个问题在这里已经有答案了 例如 我正在尝试交叉堆叠两个张量 0 1 2 2 3 gt 0 2 0 3 1 2 1 3 2 2 2 3 有谁知道哪个函数可以做到这一点 我认为这可以满足您的需要 import tensorflow as tf
  • 空 MailMessage 构造函数何时起作用?

    我们有一个 Asp Net 解决方案 该解决方案已使用 System Net Mail MailMessage 和空构造函数进行生产超过 2 年 using MailMessage mailMessage new MailMessage E
  • 使用 psycopg2 模块将值插入数据库时​​出错[重复]

    这个问题在这里已经有答案了 我正在尝试使用与 sqlalchemy 一起使用的 pscycopg2 模块将数据帧插入到我的 postgres 数据库中 该过程是将 Excel 文件加载到 pandas 数据帧中 然后通过预定义的表模式将数据
  • 在机器之间传输 Intellij Live 模板

    我试图弄清楚如何将 IdeaC10 config templates user xml 文件中的模板传输到我同事的机器上 如果我复制到 user xml 文件中 那么这些更改似乎会被 Intellij 压缩 恢复到旧的文件内容 有人知道如何
  • Bash 中的百分号,它有什么用? [复制]

    这个问题在这里已经有答案了 我有一个以以下结尾的文件名 zip我只想要不带 zip 的文件名 在这里我发现了bash的一个技巧 f 05 Means End Analysis Videos zip echo f zip 05 Means E