-
java中两行代码搞定根据路径截取文件名,适用于多系统,巴适!
2021-03-06 13:21:25对于下边两种路径: ...exportPath="/Users/93676/Desktop/测试1.docx" --linux系统路径 都可以使用如下两行代码解决 File tempFile = new File(exportPath.trim()); System.out.println(tempFile.getName()); ...对于下边两种路径:
exportPath=“C:\Users\93676\Desktop\测试.docx” --windows系统路径
exportPath="/Users/93676/Desktop/测试1.docx" --linux系统路径都可以使用如下两行代码解决
File tempFile = new File(exportPath.trim());
System.out.println(tempFile.getName()); -
Linux截取路径中的文件名并去后缀
2018-08-17 16:58:59假设一个文件的路径名为:“/home/Project/Myjob/hello.txt”,而且路径和文件名都不是固定的。如何得到hello.txt这段字符串呢? 一、使用basename()函数 import os.path filePath=“/home/Project/Myjob/...假设一个文件的路径名为:“/home/Project/Myjob/hello.txt”,而且路径和文件名都不是固定的。如何得到hello.txt这段字符串呢?
一、使用basename()函数
import os.path filePath=“/home/Project/Myjob/hello.txt” x = os.path.basename(filePath)
print x 执行的结果: hello.txt
去后缀
若后面加上:
os.path.splitext(x)[0]
#os.path.splitext(“文件路径”) 分离文件名与扩展名;默认返回(fname,fextension)元组,若[1]返回后缀
print x 执行结果:hello
解析:
1 basename函数
返回不含路径包含后缀的文件字符串
2 basename命令
basename命令格式:
basename [pathname] [suffix] basename [string] [suffix]
#给定一个路径,basename会将路径信息去除,只留下文件名,如果指定后缀了,会将后缀也去掉
示例:
二、使用字符串分割.split()函数
path=“/home/Project/Myjob/hello.txt” print(path.split("/")[-1] )
执行结果:hello.txt
去后缀方法同上
解析:
split()方法是将指定字符串按某指定的分隔符进行拆分,拆分将会形成一个字符串的数组并返回
以/分割字符串,[-1]会对返回的列表进行索引,保留最后一段,若是[-2],选取倒数第二项
参考:
-
shell截取文件名和文件目录
2016-12-01 18:57:46很多时候在使用Linux的shell时,我们都需要对文件名或目录名进行处理,通常的操作是由路径中提取出文件名,从路径中提取出目录名,提取文件后缀名等等。例如,从路径/dir1/dir2/file.txt中提取也文件名file.txt,...很多时候在使用Linux的shell时,我们都需要对文件名或目录名进行处理,通常的操作是由路径中提取出文件名,从路径中提取出目录名,提取文件后缀名等等。例如,从路径/dir1/dir2/file.txt中提取也文件名file.txt,提取出目录/dir1/dir2,提取出文件后缀txt等。
下面介绍两种常用的方法来进行相关的操作。
一、使用${}1、${var##*/}
该命令的作用是去掉变量var从左边算起的最后一个'/'字符及其左边的内容,返回从左边算起的最后一个'/'(不含该字符)的右边的内容。使用例子及结果如下:
从运行结果可以看到,使用该命令,可以提取出我们需要的文件名file.txt。
若使用时在shell程序文件中,可以使用变量来保存这个结果,再加以利用,如file=${var##*/}
2、${var##*.}
该命令的作用是去掉变量var从左边算起的最后一个'.'字符及其左边的内容,返回从左边算起的最后一个'.'(不含该字符)的右边的内容。使用例子及结果如下:
从运行结果可以看到,使用该命令,可以提取出我们需要的文件后缀。
如果文件的后缀不仅有一个,例如,file.tar.gz,命令${var##*.}仅能提取最后一个后缀,而我想提取tar.gz时该怎么办?那么就要用下面所说的${var#*.}命令了。
3、${var#*.}
该命令的作用是去掉变量var从左边算起的第一个'.'字符及其左边的内容,返回从左边算起第一个'.'(不含该字符)的右边部分的内容。使用例子及结果如下:
从运行结果可以看到,使用该命令,可以提取出文件的多个后缀。
4、${var%/*}
该命令的使用是去掉变量var从右边算起的第一个'/'字符及其右边的内容,返回从右边算起的第一个'/'(不含该字符)的左边的内容。使用例子及结果如下:
从运行的结果可以看到,使用该命令,可以提取出我们需要的文件所在的目录
5、${var%%.*}
该命令的使用是去掉变量var从右边算起的最后一个'.'字符及其右边的内容,返回从右边算起的最后一个'.'(不含该字符)的左边的内容。使用例子及结果如下:
当我们需要建立一个与文件名相同名字(没有后缀)的目录与对应的文件相对应时,就可以使用该命令来进行操作。例如,解压文件的情况就与此类似,我们压缩文件file.zip时,会在与file.zip同级目录下建立一个名为file的目录。
6、${}总结
其实${}并不是专门为提取文件名或目录名的,它的使用是变量的提取和替换等等操作,它可以提取非常多的内容,并不一定是上面五个例子中的'/'或'.'。也就是说,上面的使用方法只是它使用的一个特例。
看到上面的这些命令,可能会让人感到非常难以理解和记忆,其实不然,它们都是有规律的。
#:表示从左边算起第一个
%:表示从右边算起第一个
##:表示从左边算起最后一个
%%:表示从右边算起最后一个
换句话来说,#总是表示左边算起,%总是表示右边算起。*:表示要删除的内容,对于#和##的情况,它位于指定的字符(例子中的'/'和'.')的左边,表于删除指定字符及其左边的内容;对于%和%%的情况,它位于指定的字符(例子中的'/'和'.')的右边,表示删除指定字符及其右边的内容。这里的'*'的位置不能互换,即不能把*号放在#或##的右边,反之亦然。
例如:${var%%x*}表示找出从右边算起最后一个字符x,并删除字符x及其右边的字符。
看到这里,就可以知道,其实该命令的用途非常广泛,上面只是指针文件名和目录名的命名特性来进行提取的一些特例而已。二、basename和dirname${}并不是专门为提取文件名和目录名设计的命令,那么basename和dirname命令就是专门为做这一件事而已准备的了。
1、basename
该命令的作用是从路径中提取出文件名,使用方法为basename NAME [SUFFIX]。
1)从路径中提出出文件名(带后缀),例子如下:
2)从上面命令的用法中可以看到,后缀(SUFFIX)是一个可选项。所以,若只想提取出文件名file,而不带有后缀,还可以在变量的后面加上后缀名,例子如下:
2、dirname
该命令的作用是从路径中提取出目录名,使用方法为 dirname NAME
使用例子如下:
这样就提取出了file.txt文件所在的目录。
注:该命令不仅能提取出普通文件所的目录,它能提取出任何文件所在的目录,例如目录所在的目录,如下:
它提取出了目录dir2所在的目录dir1. -
Linux使用basename方法截取路径中的文件名并去后缀
2019-02-24 17:17:38查看帮助: basename --help ...Mandatory arguments to long options are mandatory for short options too. -a, --multiple support multiple arguments and treat each...Linux 命令split 详解(参数详解)- 查看帮助:
basename --help
- 主要的使用方法如下:
Mandatory arguments to long options are mandatory for short options too. -a, --multiple support multiple arguments and treat each as a NAME -s, --suffix=SUFFIX remove a trailing SUFFIX -z, --zero separate output with NUL rather than newline --help display this help and exit --version output version information and exit Examples: basename /usr/bin/sort -> "sort" basename include/stdio.h .h -> "stdio" basename -s .h include/stdio.h -> "stdio" basename -a any/str1 any/str2 -> "str1" followed by "str2"
- 我的测试命令和输出如下:
basename /home/zql/project/data/myTestdata/test2/123456.txt 123456.txt basename /home/zql/project/data/myTestdata/test2/123456.txt .txt 123456
- 推荐链接
# 分割文件 split --help
-
linux截取文件中的某几行
2018-09-29 20:59:21 &...1.截取前5行:head -5 filename,filename是你要截取的文件名,不在当前目录下要加路径的。 2.截取后5行:tail -5 filename 3.截取5-10行,并重新输入到另一个文件中 ... -
python basename_我使用过的Linux命令之basename - 去掉文件名的目录和后缀
2020-12-09 16:25:33去掉文件名的目录和后缀用途说明basename命令用于去掉文件名的目录和后缀(strip directory and suffix from filenames),对应的dirname命令用于截取目录(见《我使用过的Linux命令之dirname - 截取给定路径的目录... -
Linux basename --去掉文件名的目录和后续 2013年8月29日
2016-04-08 09:26:00basename命令用于去掉文件名的目录和后缀(stripdirectory and suffix from filenames),对应的dirname命令用于截取目录(见《我使用过的Linux命令之dirname - 截取给定路径的目录部分 》)。 常用参数 格式:... -
sql按分隔符截取_Nodejs小知识--- Linux与Windows下路径分隔符问题
2020-12-12 22:29:43一、背景 前些日子推动组内前端项目自研上云,造了一个轮子上传文件至CDN(没错造了一下轮子),整个逻辑很简单,就是递归遍历文件加上...针对这个问题,去 COS上查了一下,发现文件名变为了 xxxxxx.xx,经过排查发... -
linux之文件路径
2020-05-31 18:17:581.绝对路径与相对路径 ...4.获取目标文件的文件名或目录名路径 5.直接查看文件内容 ca 6.添加行号打印 nl 7.执行翻页查看 more 8.数据截取 head(默认读取10行的数据截取) 9.非纯文本文件 od 10.查询可执行文件 which -
我使用过的Linux命令之basename - 去掉文件名的目录和后缀
2012-11-21 11:54:40basename命令用于去掉文件名的目录和后缀(strip directory and suffix from filenames),对应的dirname命令用于截取目录(见《我使用过的Linux命令之dirname - 截取给定路径的目录部分 》)。 常用参 -
Linux学习-鸟哥-第六章-Linux文件与目录管理
2020-04-03 15:20:39Linux文件与目录管理一、目录与路径1.相对路径与绝对路径2.目录相关的操作3. 关于执行文件路径的变量:$PATH二、文件与目录管理1.文件与目录查看:ls2.复制、删除与移动:cp、rm、mv2.1`cp`(复制文件或目录)2.2`rm`... -
用Linux提取文件前x行
2020-10-01 17:39:06Linux的head指令用法 head -n x 文件路径>新文件名 在这里,x代表想截取的前x条数据,根据需要修改 比如想提取一万条,指令就是head -n 10000 文件路径>新文件名 文件路径是因为需要告诉系统文件所在位置 如果... -
Linux Shell 系统性学习笔记
2020-11-04 19:41:45文章目录磁盘位置shell 基础格式shell 变量变量类型全局和局部变量临时环境...路径获取文件名、后缀、目录shell 数组定义数组读取数组获取数组的长度普通数组关联数组数组内元素的截取与替换遍历数组Shell 注释多行注释... -
一天一条Linux指令-basename
2016-11-07 20:11:36basename命令用于去掉文件名的目录和后缀(strip directory and suffix from filenames),对应的dirname命令用于截取目录(见《我使用过的Linux命令之dirname - 截取给定路径的目录部分 》)。 常用参数 ... -
#6 Linux文件与目录管理 命令
2020-05-15 00:09:242.3. 得到 文件名和目录名 3. 文件内容查询 3.1. 直接查看文件内容 3.2. 翻页检视 3.3. 截取资料 3.4. 非纯文本文档:od 3.5. 修改文件时间或建置新档:touch 4. 文件与目录 默认权限与隐藏权限 4.1. 文件预设... -
Linux学习之bash继续练习
2019-08-16 11:47:47今天上午继续练习昨天没弄完的管线命令 命令1 | 命令2,竖线两旁要用空格隔开,前面一个命令正确的话命令2才能接收到,所以要确保命令1的正确实施; cut命令, ...grep ‘搜索字符串’ 文件名,截取命... -
linux下利用core dump 对异常退出的程序调试
2014-09-26 09:36:48在Linux下,当执行程序异常退出时,系统会将内存中执行的代码copy一份到磁盘,然后将内存释放,其中生成的文件名是core或core.pid,默认生成路径是执行程序所在的目录。 具体使用步骤: 1.设置core文件的大小... -
PHP linux jsapache php5 案例讲解
2010-08-16 16:30:421.本书1、3~10、12~19章所附代码的运行环境 服务器Apache 2.0及以上版本 数据库采用MySQL 4.0.14 及以上版本 ...2.本书所附光盘范例 ... code7_11.php 截取文件 code7_12.php 新闻目录页面 ... -
basename
2013-10-30 16:50:11basename命令用于去掉文件名的目录和后缀(strip directory and suffix from filenames),对应的dirname命令用于截取目录(见《我使用过的Linux命令之dirname - 截取给定路径的目录部分 》)。 -
grub4dos-V0.4.6a-2017-02-04更新
2017-03-05 21:51:19setmenu --graphic-entry=类型=菜单行数=菜单列数=图形宽(像素)=图形高(像素)=菜单行间距(像素) 菜单项0的路径文件名 类型: 位0:高亮指定颜色 位1:高亮颜色翻转 位2:高亮显示线框 位7:背景透明(最好使用黑色... -
《Java Web开发实战1200例(第I卷)》(清华出版.卢瀚.王春斌).part2 高清完整PDF版
2016-06-13 12:06:47实例128 字符串截取 实例129 字符串转换成数组 实例130 数组转换为字符串 实例131 将整型值转换为字符串 实例132 将字符串型转换为整型 实例133 把整型数据格式化为指定长度的字符串 实例134 将长整型的数字... -
Java web开发实战1200例(第1卷).(清华出版.卢瀚.王春斌).part3
2016-06-13 12:09:04实例128 字符串截取 实例129 字符串转换成数组 实例130 数组转换为字符串 实例131 将整型值转换为字符串 实例132 将字符串型转换为整型 实例133 把整型数据格式化为指定长度的字符串 实例134 将长整型的数字... -
-
易语言程序免安装版下载
2011-04-07 09:28:50“库文件名”以.lib或.obj为后缀的将被视为静态库,可使用绝对路径或相对路径(相对当前源代码所在目录),如依赖多个静态库请分别列出并以逗号分隔;“在库中的对应命令名”请务必准确填写静态库中公开导出的符号... -
vc++ 应用源码包_1
2012-09-15 14:22:12从fnMyDownload开始,程序首先解析输入的url,拆分为地址,路径,文件名等。然后获取文件头,得到文件大小,然后再下载。重点函数是ThreadDownLoad。下载完之后用FileCombine合并文件。Mydownload.cpp底端的... -
vc++ 应用源码包_2
2012-09-15 14:27:40从fnMyDownload开始,程序首先解析输入的url,拆分为地址,路径,文件名等。然后获取文件头,得到文件大小,然后再下载。重点函数是ThreadDownLoad。下载完之后用FileCombine合并文件。Mydownload.cpp底端的... -
vc++ 应用源码包_6
2012-09-15 14:59:46从fnMyDownload开始,程序首先解析输入的url,拆分为地址,路径,文件名等。然后获取文件头,得到文件大小,然后再下载。重点函数是ThreadDownLoad。下载完之后用FileCombine合并文件。Mydownload.cpp底端的... -
vc++ 应用源码包_5
2012-09-15 14:45:16从fnMyDownload开始,程序首先解析输入的url,拆分为地址,路径,文件名等。然后获取文件头,得到文件大小,然后再下载。重点函数是ThreadDownLoad。下载完之后用FileCombine合并文件。Mydownload.cpp底端的... -
vc++ 应用源码包_4
2012-09-15 14:38:35从fnMyDownload开始,程序首先解析输入的url,拆分为地址,路径,文件名等。然后获取文件头,得到文件大小,然后再下载。重点函数是ThreadDownLoad。下载完之后用FileCombine合并文件。Mydownload.cpp底端的...
收藏数
32
精华内容
12