glob

在 glob 模式中指定完整范围的可打印 ASCII 字符
glob

在 glob 模式中指定完整范围的可打印 ASCII 字符

我想使用通配模式仅匹配可打印(包括空格)的 ASCII 字符0x20到0x7e.这是在一个内部使用的super super.tab数据库。 我已经得出了这样的模式: [[ -~]] 这似乎有效,并且确实限制了非打印字符作为参数传递。 我是否忽略了任何内容,或者这是指定该字符范围的正确方法? 编辑: 基于麦克塞夫建议使用[[:print:]],我尝试过,但似乎不起作用。 这是我的super.tab条目的样子: dosuperthing /system/dosuperthing.pl $Users uid=0 arg1="[[:print:]]" 如果我尝...

Admin

强制 Bash 4 'globstar' 选项忽略符号链接
glob

强制 Bash 4 'globstar' 选项忽略符号链接

Bash 4 有一个很棒的选项,称为“globstar”,它模拟(即被窃取)zsh 的**跨多个目录进行通配的语法。然而,它总是遵循符号链接,这在某种程度上削弱了它(至少对于我的使用而言)。 有没有办法阻止**跟踪符号链接?如果没有,是否有计划在未来的版本中将此功能添加到 Bash 中?在那之前(或者如果没有这样的计划),任何人都可以提出一个体面的(且方便的)解决方法吗? 我想我已经读到zsh的实现更灵活并且没有这个问题,但不幸的是我不能直接切换到zsh,因为我们在我的工作场所源了很多bash脚本,而我没有时间或者将它们全部转换为 zsh 并保持最新的专...

Admin

大括号全局顺序?
glob

大括号全局顺序?

如果我有两个文件(在具有类似编号文件的文件夹中),例如 foo.18 foo.19 我想对它们使用 glob,我是这样做的吗: cp -r /folder1/*.{19,20} /folder2/ 或者像这样? cp -r /folder1/{*.19,*.20} /folder2/ 当我点击 时,两者似乎都没有展开tab。 这个比那个好吗?它按什么顺序展开?这有关系吗? ...

Admin

如何在 glob 模式中使用参数替换(zsh)
glob

如何在 glob 模式中使用参数替换(zsh)

我想处理一堆以某些后缀结尾的文件,所以我编写了以下 zsh 脚本,但它不起作用。 EXT=(.jpg .png .gif) EXT=${(j.|.)EXT} # EXT becomes '.jpg|.png|.gif' for f in *($EXT); do # should become '*(.jpg|.png|.gif)' but failed process-one-file $f done 为什么不起作用?如何混合参数替换和全局模式? ...

Admin

我非常喜欢善变的 .hgignore 风格的通配符。有支持它的 Linux shell 吗?
glob

我非常喜欢善变的 .hgignore 风格的通配符。有支持它的 Linux shell 吗?

我相当喜欢Mercurial .hgignore 风格的模式通配符。 Glob 的根目录为当前目录;诸如 *.c 之类的 glob 将仅匹配当前目录中以 .c 结尾的文件。 支持的 glob 语法扩展是 ** 用于匹配路径分隔符之间的任何字符串,而 {a,b} 则表示“a 或 b”。 有支持这个的 Linux shell 吗? ...

Admin

修改 zsh 通配模式以与 cp 一起使用
glob

修改 zsh 通配模式以与 cp 一起使用

我正在尝试编写一个脚本来从除 files 之外的特定文件夹中递归复制文件A.extn,其中B/*.extn和是目录,并且只是一些通用扩展名。这就是我所拥有的:C/*BCextn #!/usr/local/bin/zsh setopt EXTENDED_GLOB TMPDIR=/tmp/test cp -pR $(dirname $0)/**~(*.foo/*|*/bar.txt|*.abc|qux.txt) $TMPDIR 然而,这并没有按预期对模式进行否定。我想我确实知道为什么 - 尽管模式是正确的(如 所示echo),cp -R但不知道该模式,并...

Admin

我可以从 bash glob 中只选择一个结果吗?
glob

我可以从 bash glob 中只选择一个结果吗?

我正在尝试编写一个脚本来自动执行一些输出报告。日志文件(目前,将来正在“标准化”)存储在这种路径结构中: /<root_path>/<process_one_path>/logs/<time_date_stamp>/<specific_log_file> /<root_path>/<process_two_path>/logs/<different_time_date_stamp>/<specific_log_file> 除了时间戳之外,路径的每个部分都是已...

Admin

logrotate 如何处理通配符?
glob

logrotate 如何处理通配符?

如果我有这样的 logrotate 配置文件, # matches multiple ones /var/log/project/*.log { ... prerotate ... endscript ... } 那么 glob 在这里是如何工作的呢?如果我有 3 个日志文件与该模式匹配,预旋转脚本会执行 3 次还是只执行一次?我没有找到任何线索logrotate (8) ...

Admin

使用通配符过滤/选择文件夹
glob

使用通配符过滤/选择文件夹

为了我的mecurial 忽略文件我想选择dataset项目文件夹中以一个“glob 语句”开头的所有文件夹。 示例项目文件夹: my_project_folder/ dataset1/ dataset2/ dataset3/ code.py 我尝试过dataset*/,但什么也没选择。正确的说法是什么? ...

Admin

要求 ls 仅列出路径中与特定 glob/regex 匹配的文件
glob

要求 ls 仅列出路径中与特定 glob/regex 匹配的文件

在 Zsh 中:有没有办法ls使用仅有的列出文件和文件夹中的当前目录匹配特定的通配或者正则表达式图案? 例如,假设我有多个以字符开头的文件#,以下命令会执行以下操作不是做我想做的事: ls -l #* 我知道我可以使用 find 来完成此操作,即find . "#*" -maxdepth 1 -print,但我正在寻找一种解决方案,列出具有ls. 我认为做到这一点的一种方法是解析 ls 的输出(但据我所知通常不推荐这样做)。 ...

Admin

Bash 通配符和参数传递
glob

Bash 通配符和参数传递

我有以下简化的 bash 脚本 #!/bin/bash files=("$@") if [ "X$files" = "X" ]; then files=$HOME/print/*.pdf; fi for file in "${files[@]}"; do ls "$file"; done 如果我将参数(文件名)作为参数传递,此脚本将打印正确的文件名。另一方面,如果我不传递参数,它将打印 /home/user/print/*.pdf: No such file or directory 为什么在这种情况下文件名没有扩展,如何修复?请注...

Admin