我有一个包含大约2,000个文件的目录,这些文件具有不同的文件名。
我需要打印出所有包含字母o的文件名,并且在o右边有一个6和两个空格。例如:
flow6,tro168,arrow6ish。
我是否会使用类似的东西:
find -name 'o*6'发布于 2013-03-15 05:11:12
请不要解析ls输出(正如之前在线程中建议的那样),而是尝试这样做:
printf '%s\n' *o?6*示例:
$ ls -1
arrow6ish
flow6
o6
oaaaaaaaaa6
tro168
$ printf '%s\n' *o?6*
arrow6ish
flow6
tro168如果需要对结果运行命令,the simplest is:
commandX *o?6*这就是所有的球体魔法。
如果需要递归,可以使用
find . -type f -name '*o?6*'ls是以交互方式查看文件信息的工具。它的输出是为人类格式化的,并且会在脚本中导致错误。改用globs或find。了解原因:http://mywiki.wooledge.org/ParsingLs
了解更多关于glob的
发布于 2013-03-15 05:16:39
find . -name "*o?6*"应该能达到你想要的效果。如果文件包含在嵌套子目录中,这比printf解决方案更可取。
https://stackoverflow.com/questions/15420189
复制相似问题