Questions tagged «wildcards»

通配符表示通过包含通配符的名称模式匹配文件。


4
带路径包含空格和通配符的字符串的Bash脚本错误
我无法了解Bash脚本编写的基础知识。这是我到目前为止的内容: #!/bin/bash FILES="/home/john/my directory/*.txt" for f in "${FILES}" do echo "${f}" done 我要做的就是.txt在for循环中列出所有文件,以便我可以对它们进行处理。但是中的my directory星号和中的空格*.txt不能很好地播放。我试过使用带双引号和不带双引号,带或不带大括号的变量名,但仍然无法打印所有.txt文件。 这是非常基本的事情,但是我仍然在努力,因为我累了并且无法直截了当。 我究竟做错了什么? 如果我的文件没有空格或星号,我已经能够成功应用上面的脚本...我不得不尝试使用或不使用双引号和花括号来使其正常工作。但是,当我同时拥有空格和星号时,一切都变得混乱了。



2
zsh中按字典顺序的文件多位数范围
我想通过globing在zsh中指定一个带有两个整数(例如2到57)的文件范围(按字典顺序)。 例如:“按目录顺序在匹配某些glob模式的路径下选择文件2到57”。 我认为使用方括号会做到这一点 for x in /foo/bar/*[2-57]; do print $x; done 但岩组显然认为我要求的文件2到5(或类似的东西),而不是文件2来57。有什么想法吗?我该怎么做?
24 zsh  wildcards 

4
如何从没有匹配项的glob模式中静默获取空字符串
说我有一个包含三个文件的文件夹: foo1 foo2 bar 1. 如果我跑步 list_of_files=$(print foo*) echo $list_of_files 我得到: foo1 foo2 2.如果我跑步 list_of_files=$(print bar*) echo $list_of_files 我得到: bar 3.但是,如果我跑步 list_of_files=$(print other*) echo $list_of_files 我得到:(尽管zsh: no matches found: other*变量$list_of_files为空) 有没有办法让zsh不抱怨它是否不能与glob扩展匹配? 我的目标是使用上述机制来静默收集与给定的glob模式匹配的文件列表。
24 zsh  wildcards 

2
删除所有以问号开头的文件
我有一个文件夹,其中有大约4k个文件。其中一些文件以aa ?或!字符开头。我需要删除它们,但找不到可以这样做的表达式: rm -f ./?* 只是删除所有内容。我可能可以grep在ls上使用它,xargs并通过管道将其移动并将文件移动到另一个文件夹,但是我希望有这样做的正确方法。在?和!文件上均需要帮助。

1
正则表达式(Big | Small)(State | City)-[0-9] * \。csv的.gitignore模式等效项是什么
我有一个正则表达式卡在我.gitignore类似于: (Big|Small)(State|City)-[0-9]*\.csv 它没有用,所以我对RegexLab.NET进行了测试。 然后,我找到了gitignore手册页,这使我了解到gitignore不使用正则表达式,而是使用fnmatch(3)。 但是,fnmatch它似乎没有等效的捕获组。这可行吗?还是需要将其分为三行?

2
复制具有多个扩展名的文件
我想将具有多个扩展名的文件复制到单个目标目录。 例如,我可以使用以下命令将工作目录中的所有.txt文件复制到名为的目录中destination: cp -v *.txt destination/ 我可以使用以下命令将工作目录中的所有.png目录复制到destination: cp -v *.png destination/ 但是将它们作为单独的命令键入非常耗时(即使使用命令历史记录也是如此)。因此,有什么办法可以告诉我cp将带有模式*.txt 或模式的文件复制*.png到destination? 理想情况下,我想能够指定两个以上的模式-就像指导cp复制所有*.txt 或 *.png 或 *.jpg文件destination,例如。 我确信使用shell脚本可以实现所有这些功能- bash例如,我正在使用-但是有什么方法可以仅通过控制台更简单地完成它吗?我能以某种方式使用括号扩展吗? 我知道这是可能的所有文件复制除了匹配某些特定模式的工作目录,但由于我的工作目录含有更多的文件扩展名,我不希望比我复制这样做,那将是一个痛苦。 您对此有什么想法吗?
22 bash  shell  wildcards  cp 

3
在shell命令中。?? *是什么意思?
在下面的命令将tar所有的“点”文件和文件夹: tar -zcvf dotfiles.tar.gz .??* 我熟悉正则表达式,但是我不懂如何解释.??*。我执行ls .??*并tree .??*查看了列出的文件。为什么此正则表达式包含.以例如开头的文件夹中的所有文件?
22 wildcards  tar 

1
如何使用wget从某些URL路径下载特定文件
如果我不想手动下载在特定URL路径中找到的文件,我有什么选择?使用通配符失败: $ wget 'http://www.shinken-monitoring.org/pub/debian/*deb' Warning: wildcards not supported in HTTP. .... 这当然是假设我事先不知道文件名。
22 wildcards  wget 


1
为什么不“查找”此文件?
find与配合使用grep,可以找到与模式匹配的文件: # find | grep error ./solr-modifiedSolr4/SolrPhpClient/phpdocs/errors.html ./error_log ./includes/classes/error_log 但是,find找不到单独使用第一个文件: # find . -name error* ./error_log ./includes/classes/error_log 不使用时为什么find找不到errors.html文件grep?如何find用于显示此文件?


6
如何移动前x个文件
我有一个包含数千个无序文件的巨大文件夹。通过mv命令将前5000个移动到子文件夹是否可行?现在我用 mv *some_pattern* ./subfolder1/ 到目前为止,我非常随机地移动图像,如果每个子文件夹中没有完全5000个文件,这并不重要。有更好的方法吗?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.