Shell命令优化:如何仅获取目标文件名而非文件属性
嘿,这问题我熟!你想要只拿到dev.project.jar的纯文件名字符串,关键是调整命令让它只输出文件名,而不是带属性的完整信息。分不同系统给你几个靠谱的方案:
解决方案
Linux/Unix/macOS 环境
如果之前你用的是ls -l这类会输出文件权限、大小等属性的命令,试试下面这些精准的写法:
- 快速过滤匹配:
直接用ls | grep "^dev.project.jar$",这里的^和$是正则标记,确保只匹配完全一致的文件名,避免误抓类似名称的文件(比如dev.project.jar.bak这类就不会被选中)。 - 更可靠的无歧义写法:
用find命令更稳妥,能避免文件名含特殊字符时的问题:
其中find . -maxdepth 1 -type f -name "dev.project.jar" -printf "%f\n"-maxdepth 1限制只搜索当前目录,-type f确保只找文件(排除文件夹),-printf "%f"指定只输出纯文件名。
Windows 命令提示符(CMD)
如果是在Windows的CMD里,之前用dir会带出文件大小、修改时间等属性,加上/b参数就能只输出纯文件名:
dir /b "dev.project.jar"
Windows PowerShell
在PowerShell环境下,用Get-ChildItem加上-Name参数即可:
Get-ChildItem -Name "dev.project.jar"
这些命令都会直接返回你要的dev.project.jar纯字符串,不会附带任何文件属性信息~
内容的提问来源于stack exchange,提问作者firasKoubaa
相关产品推荐
相关产品推荐

