我想列出只有空格才具有空格的文件。
例如使用命令touch " "
创建的文件。
这将创建一个有3个空格的文件。
我正在使用以下命令,但它没有列出所需的文件。
ls -lart | grep '[^a-zA-Z0-9]'
我想列出只有空格才具有空格的文件。
例如使用命令touch " "
创建的文件。
这将创建一个有3个空格的文件。
我正在使用以下命令,但它没有列出所需的文件。
ls -lart | grep '[^a-zA-Z0-9]'
Do not parse ls
。相反,你可以使用find
使用正则表达式:
find . -regextype posix-extended -regex '^.*/ *$'
由于man find
说:这是整个路径上的匹配,不是搜索,我们只能说(学分约翰Kugelman):
find . -regextype posix-extended -regex '.*/ *'
这将找到由多个空格组成的文件。
您可以按照与任何文件相同的方式列出它:按名称或仅与其匹配的模式。
ls -lart " "
模式需要bash
shopt -s extglob
(其他shell可能有一些simliar)。一种可能性:
ls -lart "+([[:space:]])"
@JohnKugelman真的,我没有检查过这种情况。谢谢,更新使用正确的正则表达式 – fedorqui
锚点不应该是必需的。手册页上说:“这是一条全程的匹配,而不是搜索。” –
感谢您分享有价值的信息。现在我不会使用ls进行解析。您能否请分享一些与查找命令使用相关的好文章。 –