Questions tagged «wildcards»

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

3
如何使用7z归档目录中的所有文件和目录(包括隐藏的文件和目录)?
由于我的存档需求的具体情况,我对tar.gz可靠的存档不满意,而改用7z。 我使用以下命令执行此操作: 7z a -t7z -m0=lzma -mx=9 -mfb=64 -md=32m -ms=off ~/my/folder.7z ~/my/folder/* 要创造一切内部的档案~/my/folder/的~/my/folder.7z文件。 但是~/my/folder/.hiddenFolder那时候就不进入存档了。如何解决这个问题?不*应该返回所有文件和文件夹吗?
10 bash  wildcards  7z 

3
为什么或为什么使用`。*?`比`。*`更好?
我在SuperUser上回答了这个问题,该问题与在提取输出时使用的某种正则表达式有关。 我给出的答案是这样的: tail -f log | grep "some_string.*some_string" 然后,在对我的答案的三条评论中,@ Bob写道: .*贪婪,可能会捕获比您想要的更多的东西。.*?通常更好。 然后这个 在?上一个修改*,使其成为懒惰,而不是贪婪的默认。假设PCRE。 我用google搜索PCRE,但无法在我的答案中得到什么意义? 最后, 我还应该指出,这是regex(默认情况下,grep执行POSIX regex),而不是shell glob。 我只知道什么是正则表达式以及它在grep命令中的基本用法。因此,我无法获得这3条评论中的任何一条,并且我想到了以下这些问题: .*?vs. 用法有什么区别.*? 哪个更好,在什么情况下?请提供示例。 另外,如果有人可以理解这些意见,将会很有帮助。 更新:作为对问题的回答,正则表达式与Shell Globs有何不同? @Kusalananda在他的评论中提供了此链接。 注意:如果需要,请在回答引用上下文之前阅读我对这个问题的回答。


2
从文本文件中删除未知的Unicode字符-sed,其他bash / shell方法
我需要在具有相同名称的某些文件中搜索并替换所有出现的未知字符。 用vi打开此类文件,我读取了该字符的<91>代码。用nano打开它们,我在钻石(黑色隆隆声)中看到一个“问号”。 我想用引号(')代替这样的未知字符。我正在尝试许多运气不佳的方法。 我试过了: find ./ -name filename.txt -exec perl -i~ -pe "s/\x91/'/" {} \; find ./ -name filename.txt -exec sed -i "s/\x91/'/g" {} \; 编辑 有关该字符的更多信息: Hexadecimal: 91 68 74 74 Decimal: 145 104 116 116 Octal: 221 150 164 164 Binary: 10010001 01101000 01110100 01110100 LC_ALL=C sed -n …

6
使用猫通配符打印强制换行
我想在bash中使用带有通配符的cat以便将多个小文件(每个文件是一个句子)打印到标准输出。但是,单独的文件内容不是用换行符分隔的,为了方便阅读,我希望这样做。 如何在此命令中添加某种文件分隔符?

3
ImageMagick在多个文件上
我convert使用以下命令使用ImageMagick将单个文件从BMP转换为PNG convert CD\ Front.bmp CD\ Front.png 我有很多这样的文件,因此我尝试了: for f in */*.bmp ; do convert $f ${f%bmp}png; done 但是此命令将永远挂起。 我究竟做错了什么?

2
外壳程序(例如bash)如何扩展通配符模式?
假设一个目录有100个文件,以字母“ a”开头。 如果我grep <some string> a*从终端执行a ,外壳将如何处理呢? 它将扩展正则表达式,按顺序获取每个文件中以a和grep开头的所有文件的列表吗?还是有其他方法? 假设我有一个以“ a”开头的上述文件名数组。如果我编写一个for循环并在shell脚本或ac程序中自己进行迭代,会花费更多/更少的时间吗?
9 bash  shell  wildcards 

3
“ mkdir foo; svn mv * foo”
我经常想对这个习语做一些变形: $ mkdir 2010 $ svn mv * 2010 当然,我会收到一个错误,因为该组也匹配2010: svn: Cannot copy path '2010' into its own child '2010/2010' 有没有办法替换"svn mv * 2010"做正确的事情的另一种单缸纸?


2
ls忽略“没有匹配项”
我想列出的所有文件的文件夹,名为中foldername有扩展test,atest或btest。 我立即想到要跑步 ls ./foldername/*.{a,b,}test 除非扩展名没有任何内容,否则此方法工作正常atest,在这种情况下,我会收到错误消息zsh: no matches found: ./foldername/*.atest。 有什么方法可以简单地忽略此错误并打印确实存在的文件? 我需要在ZSH和BASH中都可以使用。

1
猛击不如预期
这是一个作业问题: 将所有文件名与2个或多个以小写字母开头但不以大写字母结尾的字符匹配。 我不明白为什么我的解决方案无法正常工作。 所以我执行了以下内容: touch aa touch ha touch ah touch hh touch a123e touch hX touch Ax ls [a-z]*[!A-Z] 输出: aa ha 我的问题:为什么不匹配“ ah”,“ hh”或“ a123e”?

2
为什么带有通配符的sudo mv操作不起作用?
我认为必须对此有一个简单的答案,但我不知道为什么这不起作用! 我的主目录中有一个文件夹(好几个级别),称为安装插件。我想将该文件夹的所有内容(大约15个.jar文件)传输到另一个文件夹,也称为安装插件。 这是我正在尝试的: $ sudo mv /home/jira-plugins/installed-plugins/* /var/atlassian/application-data/jira/plugins/installed-plugins/ mv: cannot stat `/home/jira-plugins/installed-plugins/*': No such file or directory 我怎么了 该文件夹绝对不是空的。这是ls输出: $ sudo ls /home/jira-plugins/installed-plugins analytics-client-3.15.jar plugin.2223138796603023855.jira-importers-plugin-6.0.30.jar atlassian-chaperone-2.0.3.jar plugin.330169947367430109.jira-fisheye-plugin-6.2.8.jar atlassian-client-resource-1.0.jar plugin.4363048306537053933.jeditor-2.1.7.2.jar atlassian-pocketknife-api-commons-plugin-0.19.jar plugin.4438307615842123002.jira-ical-feed-1.0.4.jar atlassian-pretty-urls-plugin-1.8.jar plugin.461510159947098121.jira-issue-collector-plugin-1.2.5.jar base-hipchat-integration-plugin-7.8.24.jar plugin.5630909028354276764.atlassian-universal-plugin-manager-plugin-2.7.8.jar base-hipchat-integration-plugin-api-7.8.24.jar plugin.6920509095052318016.atlassian-bonfire-plugin-2.9.13.jar hipchat-core-plugin-0.8.3.jar plugin.6952408596192442765.atlassian-bonfire-plugin-2.8.2.jar hipchat-for-jira-plugin-1.2.11.jar plugin.7079751365359230322.jira-importers-bitbucket-plugin-1.0.8.jar jira-email-processor-plugin-1.0.29.jar plugin.7451827330686083284.atlassian-universal-plugin-manager-plugin-2.21.4.jar jira-fisheye-plugin-7.1.1.jar plugin.7498175247667964103.jira-importers-redmine-plugin-2.0.7.jar jira-ical-feed-1.1.jar plugin.7803627457720701011.jira-importers-plugin-3.5.3.jar jira-issue-nav-components-6.2.23.jar plugin.7977988994984147602.jira-bamboo-plugin-5.1.6.jar jira-servicedesk-2.3.6.jar …
8 shell  sudo  wildcards  mv 

1
用通配符分配的变量中的参数扩展
我的当前文件夹(MA502)中有两个文件,它们的名称是- MA502_TAAGGCGA-TCGCAGG_L001_R1_001.at.fastq MA502_TAAGGCGA-TCGCAGG_L001_R2_001.at.fastq 我有很多这样的文件夹-例如MA503,MA504等,我想遍历这些文件夹。 我使用通配符分配变量名- Forward=*R1*.at.fastq Reverse=*R2*.at.fastq 我想在脚本中处理这些文件,并希望将输出替换.at为.atqt,以便最终名称看起来像- MA502_TAAGGCGA-TCGCAGG_L001_R1_001.atqt.fastq MA502_TAAGGCGA-TCGCAGG_L001_R2_001.atqt.fastq 我试过了 awk 'script' $Forward > ${Forward/.at/.atqt} 我的最终文件名看起来像- *R1*.atqt.fastq 而不是我的期望 MA502_TAAGGCGA-TCGCAGG_L001_R1_001.atqt.fastq 我已经根据需要在UNIX上学到了所有东西,所以我不确定如何处理变量名。任何帮助表示赞赏!



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.