我正在制作一个 bash 脚本;如何找到不以特定扩展名结尾的文件?
#!/bin/bash
find . -type f -print | grep "\.\(?!psd\|xcf\).+$"
谢谢。
你可以像这样使用 -v
grep 参数:
find . -type f -print | grep -v "${NOT_PATTERN}"
因此,在您的情况下,您可以使用:
find . -type f -print | grep -v "\.\(psd|xcf\)$"
文档
-v,- invert-match反转匹配的方向,以选择不匹配的行。
您可以使用:
find . -regextype posix-egrep -type f ! -regex '.*\.(psd|xcf)$'
或不带正则表达式:
find . -type f -not \( -name '*.psd' -o -name '*.xcf' \)
问题内容: 我正在尝试查找具有特定扩展名的文件。例如,我要查找所有名为Robert的.pdf和.jpg文件 我知道我可以执行此命令 但是我需要指定扩展名之外的文件本身的名称。我只是想看看是否有一种避免重复写入文件名的方法,谢谢! 问题答案: 我的偏好:
我正在做一个项目,其中包含一个模块来扫描pdf,从sd卡文档xls文件,并列出它们。我也想只列出文件夹。 因为我对android非常陌生。任何人都有实现这一目标的想法。 这是我的密码:
所以我试图从一个文件中获取扩展名,这样我就可以将它与一个字符串进行比较,看看扩展名是否与我要查找的扩展名匹配。然而,目前我认为我能够得到扩展,但然后比较它与我想要找到的是导致我的应用程序崩溃和关闭立即。此外,我希望它能够处理没有扩展名的文件,只是将它们冒充为与所需的文件扩展名不匹配的文件。下面是执行此操作的代码片段,希望有人能向我解释我在这里做错了什么。 附注:我是Java和Android开发的新
问题内容: 我正在使用fileBrowser在手机上查找文件,但是我想向用户显示我的应用程序可以打开的所有文件,然后用户选择一个。就像音乐播放器一样,它不仅可以显示用户所在文件夹中的歌曲,还可以显示手机,SD卡和内存中的所有歌曲。 问题答案: 在列出文件时使用文件名过滤器。以下示例列出了给定目录中的所有mp3文件(注意-以下代码未对之下的所有文件夹进行递归处理)-
问题内容: 我有一列,所有值都是网址。我正在尝试更新其他列的值,无论上述url以何处结束。 谁能帮我这个?我还没有找到答案。 问题答案: 我可能会过分简化…但是根据您的描述,是否可以解决您的问题?
问题内容: 我使用Emacs,有时会备份已编辑的文件。几天后,我会有很多备份文件,它们的名称以波浪号结尾。 有没有办法找到这些文件并立即将其删除? 我尝试了这个: 但这是行不通的。我希望命令可以递归工作-类似于。 问题答案: 您需要从外壳中脱身。而且您需要指定搜索路径,而不是 删除文件: