文件名中 TCL 通配符/glob 的使用

2024-04-05

我有这样的代码:

...
proc myProc {first last} {
    for { set i $first } { $i <= $last } { incr i } {
        set i_cur "PlainText$i"
        <command> [glob ./../myDir/${i_cur}*]
    }
}

当我运行它时,任何在数字后面没有任何内容的文件都可以正常运行。但如果数字后面有东西,那就没有了。 例如,我有名为的有效文件PlainText0.txt, PlainText00.txt, and PlainText1_Plaintext.txt。前两个工作和PlainText1_Plaintext.txt没有。

基本上,我认为我没有正确使用全局/通配符,但不知道如何使用。


这类事情的常见问题是当你得到了你想要的错误的全局变量时,或者当你得到了一个需要list由返回glob扩大了。

如果该命令需要扩展列表,则需要使用:

<command> {*}[glob ...]

That {*}括号前面将结果扩展为多个参数。有时,这需要您迭代结果并一次传递一个结果:

foreach filename [glob ...] {
    <command> $filename
}

当谈到 glob 本身时,您不太清楚是否PlainText1_stuff.txt你是否可以接受。但是,它与模式相匹配PlainText1*。如果这是不可接受的,也许你需要PlainText1.*;额外的.对于这里匹配的内容很重要。

另外,请考虑使用-directory选项glob因为它使您的代码更清晰(尤其如果您使用的平台之一允许在文件名中使用 glob 元字符)。


总的来说,您可能会看到这样的内容:

<command> {*}[glob -directory ../myDir PlainText$i.*]

如果需要,您可以使用辅助变量。

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

文件名中 TCL 通配符/glob 的使用 的相关文章

随机推荐

  • Julia 自定义类型分配

    我尝试从 Julia 中的自定义类型分配多个元素 但是我不知道该怎么做 或者换句话说 我想重载赋值运算符以返回该类型中包含的所有元素的元组 这是所需的行为 type foo a b end a b foo 1 2 a gt 1 这是错误消息
  • Java HashMap.clear()和remove()内存有效吗?

    考虑以下HashMap clear code Removes all of the mappings from this map The map will be empty after this call returns public vo
  • Angular JS 未知提供者错误

    我在我的 Angular js 应用程序中遇到此错误 并且无法找出导致问题的原因 这似乎是一个常见问题 但我所有的故障排除都没有任何帮助 如果有人能指出问题所在 我们将不胜感激 谢谢 错误 injector unpr 未知提供程序 Resu
  • Hibernate:如何通过级联插入OnetoMany子级

    我正在尝试保留一个新的 UserTopics 对象 并将新的 UserTopic 映射到与多个 userId 对应的 Topic 表中 我不知道我在这里做错了什么 下面是我的代码和异常 我的 UserTopics 实体 Entity Tab
  • PyQt:QTableWidget获取选定的行号

    我需要获取 QTableWidget 中选定行的行号 如何获取 int 类型的数字 如何使变量随我单击的行而变化 要根据所选行更改变量 您可以连接信号QTableWidget cellClicked row column https doc
  • F# 交互,API 对 dll 引用的限制

    您如何解决类似这样的错误消息 Binding session to C Program Files x86 NLog NET Framework 4 0 NLog dll error FS0193 API restriction The a
  • Jasmine 监视 RxJS 5.5 操作员

    我正在尝试使用 Jasmine 监视 RxJS 操作员 在我的测试中有不同的用例 我希望控制 Observable 返回的内容 为了说明我正在尝试做的事情 我创建了上面的示例 尽管我认为它没有多大意义 因为此可观察值总是返回相同的硬编码字符
  • SonarQube REST API:读取各个项目的指标

    我的问题 我正在使用 SonarQube 7 1 版 并尝试提取与各个项目相关的指标和质量门 我们尝试过什么 在我们公司升级到 7 1 版本之前 我们使用 Python SonarQube API 来提取这些数据 api resources
  • 双倍到十六进制字符串并返回

    在 Java 中将双精度数转换为十六进制字符串相当简单 但我该如何做相反的事情呢 我的代码如下 我已经注意到其中NumberFormatException被抛出 大约 2 3 向下 public class HexToDoubleTest
  • 调整许多 PDF 的大小

    我正在编写的程序有许多 大约 1000 个 多页 PDF 问题在于 其中许多页面大小不一致 即使有时在同一文档中也是如此 有谁知道我可以通过编程方式浏览文件并将页面大小调整为我想要的大小的方法吗 这可以是任何语言 我可以在 Adob e A
  • 用于更改字段的 Java Jackson 注释[重复]

    这个问题在这里已经有答案了 我必须调用第 3 方 API 来获取货币汇率 但返回的 JSON 不断变化 如果我请求MYR to USD转换 它会返回我 MYR USD 0 246731 所以如果我要求KRW to USD 它会返回我 KRW
  • ASP.NET MVC 视图 - 我可以使用代码隐藏吗

    我是 MVC 新手 我注意到视图页面由于所有混合的脚本标签看起来非常糟糕 在视图代码隐藏的方法中生成 HTML 然后将方法的字符串结果作为单个脚本插入 是否有意义 例如 div div 这是否违背MVC理念 由于其他原因 例如性能 而变得愚
  • Swift 上的 +++ 和 <<< 是什么?

    我只是从这个知道github项目 https github com xmartlabs Eureka usage斯威夫特有 and lt lt lt 运营商 我很难在谷歌上搜索这个 因为 and lt lt lt 也许某种特殊字符根本不会出
  • openSSL 的 PKCS#11 引擎

    我正在尝试在 Windows 7 下设置 openSSL 以使用供应商特定的安全模块 我从供应商那里得到了一个 PKCS 11 API dll 比如说vendor dll PKCS 11 引擎是根据https github com Open
  • 多久轮询一次 wifi 信号强度?

    理想情况下 我希望近乎实时地监控无线网络的信号强度 比如每 100 毫秒一次 但如此高的频率可能有点过大了 我正在使用托管无线网络 http managedwifi codeplex com 库轮询 RSSI 我实例化一个WlanClien
  • 如何更改Linux中每个用户的默认最大进程数

    我在更改 Linux 中用户的默认进程数时遇到了问题 我尝试过编辑 etc security limits conf文件并添加以下行 malintha hard nproc 10000 保存后我尝试在终端上执行以下命令 ulimit u 它
  • 固定位置水平滚动条

    我有一个很长的 div 比方说比屏幕长 带有一个水平滚动条 出现在 div 的底部 我希望水平滚动条出现在窗口的底部 而不是出现在 div 的底部 我的情况类似于这把小提琴 http jsfiddle net xaTe9 1 而且我真的无法
  • Spinner:当所选项目保持不变时,不会调用 onItemSelected

    我有一个OnItemSelectedListener for my Spinner 但当所选项目与前一项相同时 不会调用它 显然是OnClickListener不是一个选项Spinner 我需要捕捉用户每次点击某个项目的时间 任何想法 也许
  • 在磁盘上存储密码的安全策略

    我正在构建一套需要定期访问数据库的批处理作业 在 Solaris 10 计算机上运行 由于 不可更改的 设计限制 我们需要使用特定的程序来连接它 该接口要求我们通过命令行传递纯文本密码才能连接到数据库 这是一种糟糕的安全做法 但我们仍坚持这
  • 文件名中 TCL 通配符/glob 的使用

    我有这样的代码 proc myProc first last for set i first i lt last incr i set i cur PlainText i