Linux命令行特定文件列表查询求助
Linux命令行特定文件列表查询求助
别着急,这两个需求用Linux的基础命令搭配通配符就能轻松解决,我给你一步步说明:
一、列出文件名中包含Sonnet的所有文件
你可以使用ls命令配合通配符*来实现,命令如下:
ls *Sonnet*
- 解释:
*是Linux Shell中最常用的通配符,代表任意长度的任意字符(包括0个字符)。*Sonnet*的意思是匹配所有文件名里,不管前后有什么内容,只要中间包含"Sonnet"这个字符串的文件,比如Sonnet_18.txt、My_Sonnet_Collection.pdf、Old_Sonnet_Version.doc这类文件都会被列出来。
如果想区分文件和目录,可以加上-p选项,目录名称后面会自动加上/标记:
ls -p *Sonnet*
二、列出以Shakespeare_Sonnet开头的文件
同样用ls加通配符,这次只需要固定前缀,后面用*匹配任意后缀:
ls Shakespeare_Sonnet*
- 解释:
Shakespeare_Sonnet*会严格匹配以"Shakespeare_Sonnet"作为文件名开头的所有项,不管后面跟着数字、下划线还是其他字符,比如Shakespeare_Sonnet_01.txt、Shakespeare_Sonnet_Last.pdf都能被匹配到,但像Backup_Shakespeare_Sonnet.txt这种前缀不对的就不会被列出。
小提示:如果怕误操作,你可以先用echo命令预览匹配的文件名,比如echo *Sonnet*,这样只会输出匹配到的名称,不会执行其他操作,更稳妥。
备注:内容来源于stack exchange,提问作者yaybo
相关产品推荐
相关产品推荐

