博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
linux 批量修改文件名 文件名只保留部分,去掉部分
阅读量:7294 次
发布时间:2019-06-30

本文共 1407 字,大约阅读时间需要 4 分钟。

问题:linux系统中文件名包含中文,导致页面访问不了文件。就是上条博客中的解决方法二遗留问题。

文件名中有以下格式:TC2_诺而达铜管(中山)有限公司.pdf ,要改为TC2.pdf,去掉中文部分

 

1、先了解linux 获取文件名,截取字符串的方法:使用${}。原文地址:https://blog.csdn.net/fengmm521/article/details/78446475

1)${var##*/}

该命令的作用是去掉变量var从左边算起的最后一个'/'字符及其左边的内容,返回从左边算起的最后一个'/'(不含该字符)的右边的内容

2)${var#*/}

该命令的作用是去掉变量var从左边算起的第一个'/'字符及其左边的内容,返回从左边算起第一个'/'(不含该字符)的右边部分的内容

3)${var%/*}

该命令的使用是去掉变量var从右边算起的第一个'/'字符及其右边的内容,返回从右边算起的第一个'/'(不含该字符)的左边的内容

4)${var%%/*}

该命令的使用是去掉变量var从右边算起的最后一个'/'字符及其右边的内容,返回从右边算起的最后一个'/'(不含该字符。

 例子如图:

 

${}总结

其实${}并不是专门为提取文件名或目录名的,它的使用是变量的提取和替换等等操作,它可以提取非常多的内容,并不一定是上面五个例子中的'/'或'.'。也就是说,上面的使用方法只是它使用的一个特例。
看到上面的这些命令,可能会让人感到非常难以理解和记忆,其实不然,它们都是有规律的。
#:表示从左边算起第一个
%:表示从右边算起第一个
##:表示从左边算起最后一个
%%:表示从右边算起最后一个
换句话来说,#总是表示左边算起,%总是表示右边算起。
*:表示要删除的内容,对于#和##的情况,它位于指定的字符(例子中的'/'和'.')的左边,表于删除指定字符及其左边的内容;对于%和%%的情况,它位于指定的字符(例子中的'/'和'.')的右边,表示删除指定字符及其右边的内容。这里的'*'的位置不能互换,即不能把*号放在#或##的右边,反之亦然。
例如:${var%%x*}表示找出从右边算起最后一个字符x,并删除字符x及其右边的字符。
 

--------------------- 本文来自 woodcol 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/fengmm521/article/details/78446475?utm_source=copy 

 

2、批量修改文件名方法:

方法一:mv配合for循环方式进行修改

for name in `ls *.pdf`;do mv $name ${name%_*}.pdf;done

解释说明:‘ls *.pdf’是改目录下所有的pdf文件,mv  源文件名  替换文件名,${name%_*}:去掉文件名‘_’右边的字符串,留下左边的

方法二:sed命令

方法三:rename命令

rename命令用字符串替换的方式批量改变文件名。

格式:rename  原名  替换名  要改的文件 

原字符串:将文件名需要替换的字符串; 目标字符串:将文件名中含有的原字符替换成目标字符串; 文件:指定要改变文件名的文件列表。

 

转载于:https://www.cnblogs.com/xiaomai333/p/9760304.html

你可能感兴趣的文章
开始——“运行”命令集
查看>>
配置管理篇(0)_SaltStack 安装
查看>>
如何将Windows Server域(AD活动目录)中的用户导出并导入至Outlook2010通讯簿
查看>>
Converting slapd.conf to a Directory Based Configu
查看>>
Linux中查看信息的命令
查看>>
Spring配置
查看>>
puppet集群之 Nginx and Passenger
查看>>
我的友情链接
查看>>
EMOS SPF开启收不到信 及WEB收件箱不显示邮件列表等问题解决处理记录
查看>>
转:数学之美番外篇:平凡而又神奇的贝叶斯方法 收藏
查看>>
early z optimization
查看>>
关于program patterns的一些思考
查看>>
newman的键盘不错
查看>>
java中c/s模式传送数据
查看>>
Exim4的简易部署
查看>>
linux管理磁盘和文件系统
查看>>
发现qq的mac输入法2.8,在终端全屏下输入不显示待选文字或单词
查看>>
Mysql 存储引擎和事物基础概念
查看>>
saltstack实战-6
查看>>
利用运行时设置UITextField 光标颜色
查看>>