globbing

无法打印作为参数的 Glob 表达式
globbing

无法打印作为参数的 Glob 表达式

我正在尝试编写一个简单的 bash 脚本,它将打印作为终端输入提供的参数。 echo "${1-nothing}" 我尝试过使用 $@ 或不使用引号。如果我输入*参数,则不会打印出 *,而是打印出 bash 文件的名称。我怎样才能简单地将 * 作为参数打印出来? ...

Admin

在 zsh 中使用扩展全局变量 {a..z..2} ,就像在 bash 中一样
globbing

在 zsh 中使用扩展全局变量 {a..z..2} ,就像在 bash 中一样

在zsh和bash您都可以: > echo {1..10} 1 2 3 4 5 6 7 8 9 10 > echo {a..z} a b c d e f g h i j k l m n o p q r s t u v w x y z > echo {1..10..2} #range 1 to 10 in steps of 2 (i.e. skipping 1) 1 3 5 7 9 但在现代bash(在 v5.x 中测试)中您可以: > echo {a..z..3} # a through z chars, but in step...

Admin

使用 bash 列出所有隐藏子目录的大小-奇怪的通配符行为
globbing

使用 bash 列出所有隐藏子目录的大小-奇怪的通配符行为

我想显示一些关于隐藏子目录的信息,但注意到一种我不理解的通配符行为。 ls .*展开到 pwd、父目录路径和所有隐藏的子目录路径,然后列出所有这些目录的内容。这样就好了。 du -s .*另一方面,似乎只会扩展到 pwd 和父目录路径,因为它只列出了这些的大小。我不明白为什么它的行为与 的行为不同ls。 使用du -s .[^.]*解决了实际问题,因为它列出了所有隐藏目录的大小。我知道这有效,但为什么不起作用du -s .*? ...

Admin

ZSH 和 globstar 匹配子目录中的所有文件,但不匹配目录
globbing

ZSH 和 globstar 匹配子目录中的所有文件,但不匹配目录

我可以做这个: $ grep 'text' foo/* foo/**/* 但问题是它扩展以列出所有文件和目录,所以我收到一堆这样的错误: grep: foo/a: Is a directory grep: foo/bar/b: Is a directory grep: foo/bar/c: Is a directory grep: foo/bar/c/d: Is a directory 我的问题是,是否存在可以用来仅匹配文件的 globstar 模式? 请注意,有些目录可能包含扩展名.,而有些文件可能没有扩展名,因此**/*.*不起作用。 此外,这个问题...

Admin

如何使用 sftp“ls”命令查找子目录中的所有文件,包括以“。”开头的文件。
globbing

如何使用 sftp“ls”命令查找子目录中的所有文件,包括以“。”开头的文件。

我需要使用命令获取子目录中包含的文件列表,包括以“.”开头的文件名sftp ls。例如,我在远程的目录结构是: root_folder | + folder_1 | +.ready | + folder_2 | + folder_3 +.ready +my_tar.tar 从根文件夹我可以发出以下命令ls -1 */*: folder3/my_tar.tar 如果我包含-aegls -1a */*选项,我会得到与上面相同的结果,即未列出隐藏文件。 通过使用,ls ...

Admin

QPDF:反转要附加的文件的顺序
globbing

QPDF:反转要附加的文件的顺序

举例qpdf来说: # To merge (concatenate) all the pages of a list of PDF files and save the result as a new PDF: qpdf --empty --pages <file1.pdf> <file2.pdf> <file3.pdf> -- <output.pdf> 需要将特定目录中的一组 .pdf 文件(文件名中有空格)连接起来: # Concatenate Drafts file to ../concatDrafts...

Admin

bash:按掩码列出文件并避免不匹配的掩码
globbing

bash:按掩码列出文件并避免不匹配的掩码

这是我的脚本(简化): cd /etc; for f in *.{conf,cfg,foo}; do echo $f; done 它输出类似 adduser.conf apg.conf ... vdpau_wrapper.cfg *.foo (仅举例) 就目前而言,我使用类似 for f in *.{conf,cfg,foo}; do test -f $f && echo $f; done 因为*.foo(没有与掩码匹配的文件) *.ext有没有更方便的解决方案(例如,如果没有找到这样的文件就不列出)? 换句话说:*....

Admin

如何用 bash 匹配字符串中的空格?
globbing

如何用 bash 匹配字符串中的空格?

ls Session 9 - Terminal Value.mp4 现在我想删除它。 shopt -s dotglob rm -rf .*.mp4 它不起作用,文件Session 9 - Terminal Value.mp4仍然在那里。.可能无法匹配空格。 ...

Admin

如果星号 (*) 与字符串相连,bash 是否有自动转义星号的设置?
globbing

如果星号 (*) 与字符串相连,bash 是否有自动转义星号的设置?

我正在尝试调试为什么脚本没有在我的服务器上执行我想要的操作。在测试时,我发现了一个奇怪的现象。我有一个目录,大致如下所示: bash-4.3# ls -l ./ 共 0 -rw-r--r-- 1 root root 0 8月6日 05:46 db.local.php -rw-r--r-- 1 root root 0 8月 6 05:46 global.php -rw-r--r-- 1 root root 0 8月6日 05:46 local.php -rw-r--r-- 1 root root 0 8月 6 05:46 someOther.global.p...

Admin

ZSH:带前缀的 glob
globbing

ZSH:带前缀的 glob

是否可以向 shell glob 扩展添加“前缀”?我的用例如下,我有一个程序需要重复选项标志来传递多个文件作为输入: $ ls foo.txt bar.txt baz.txt $ ./some-script.sh -a foo.txt -a bar.txt -a baz.txt 我希望能够使用某种扩展来添加'-a '到 的每个项目中*txt。这可能吗?用 zsh?bash? ...

Admin

删除除符合特定模式的子目录之外的所有子目录
globbing

删除除符合特定模式的子目录之外的所有子目录

我想删除给定目录中除符合特定模式的目录之外的所有子目录和文件: example_dir/model-*/gen-*/share/** 常规设置:我生成了多个模型(> 100),每个模型都有 >=1 代。这些模型(例如example_dir/model-0/gen-0/)内有多个目录和子目录。 期望结果:我想删除除匹配项之外的所有目录和文件: example_dir/model-*/gen-*/share/ 在每个单独的模型/代中,它都会是这样的吗?: rm -rf !(share) ...

Admin

动态更改 Inotify 的监视目录
globbing

动态更改 Inotify 的监视目录

提前感谢任何帮助! 我已经设置了一个 inotifywait 脚本来监控某些应用程序的配置更改。我正在创建所有要监视的目录;但是,如果有新应用程序部署,则它不会被 glob 拾取。 inotifywait -m -e close_write,delete /apps/*/etc | while read eventdir eventlist eventfile do # do work done 问题是,当有新应用程序部署到 时/apps,监视的 globinotifywait不包括/apps/new_app/etc/。 有没有办法动态更新此...

Admin

在 zsh 中通过变量生成文件名而无需生成子 shell
globbing

在 zsh 中通过变量生成文件名而无需生成子 shell

在 zsh 中,我在一个变量中有一个 glob 模式,我想定义另一个变量来根据该模式执行文件名生成。有没有办法在不生成子 shell 的情况下做到这一点? 以下操作无效: x=foo* y=$~x 显然我可以做到 x=foo* y=$(echo $~x) 并开始执行常规完成行为。但这个问题的重点是避免产生子shell,这似乎是不必要的。 过去几天,这个问题在 stackoverflow.com 上没有得到任何回复,所以我想我可以尝试在这里提问。 ...

Admin

按模式计数并移动文件
globbing

按模式计数并移动文件

我有许多 epub 文件,想将它们整理到文件夹中。我的所有文件都遵循相同的模式“作者 - 姓名(年份).epub”。我想归档的是按作者计数文件,如果书籍数量超过 2 本(例如),则将它们移动到以作者命名的文件夹中。 例如,对于以下文件: Willis, Connie - [Oxford Time Travel #1] - Doomsday Book (1992).epub Willis, Connie - [Oxford Time Travel #2] - To Say Nothing of the Dog (1997).epub Willis, Con...

Admin