我有一个目录,其中大约有100000个文件,我想对所有以指定字符串开头的文件执行一些功能,该字符串可能匹配数万个文件。
我试过了
ls mystring*
但这将返回bash错误'Too many arguments'。我的下一个计划是使用
find ./mystring* -type f
但这个也有同样的问题。
代码看起来应该像这样
for FILE in `find ./mystring* -type f`
do
#Some function on the file
done
如果您希望将搜索限制在文件中,则应该考虑在搜索中使用-type f
尝试使用also -iname进行不区分大小写的搜索
例子:
find /path -iname 'yourstring*' -type f
您还可以在没有管道符号或xargs的情况下对结果执行一些操作
例子:
搜索文件并以MB为单位显示其大小
find /path -iname 'yourstring*' -type f -exec du -sm {} \;
如果您希望将搜索限制在文件中,则应该考虑在搜索中使用-type f
尝试使用also -iname进行不区分大小写的搜索
例子:
find /path -iname 'yourstring*' -type f
您还可以在没有管道符号或xargs的情况下对结果执行一些操作
例子:
搜索文件并以MB为单位显示其大小
find /path -iname 'yourstring*' -type f -exec du -sm {} \;