linux 批量修改文件名 文件名只保留部分,去掉部分
问题: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从右边算起的最后一个'/'字符及其右边的内容,返回从右边算起的最后一个'/'(不含该字符。
例子如图:

${}总结
---------------------
本文来自 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 原名 替换名 要改的文件
原字符串:将文件名需要替换的字符串; 目标字符串:将文件名中含有的原字符替换成目标字符串; 文件:指定要改变文件名的文件列表。
linux 批量修改文件名 文件名只保留部分,去掉部分的更多相关文章
- 利用python批量修改word文件名的方法示例
利用python批量修改word文件名的方法示例 最近不小心把硬盘给格式化了,由于当时的文件没有备份,所以一下所有的文件都没有了,于是只能采取补救措施,用文件恢复软件恢复了一部分的数据出来,但是恢复完 ...
- linux批量修改文件名的shell脚本
linux中批量修改文件名的shell脚本代码,主要是使用了rename,结合shell,喜欢的朋友可以参考下 使用 rename 命令 ======================== NAME ...
- linux --批量修改文件内容
由于目前测试的BIOS有一个option 发生了改变,因此我们需要在之前写好的脚本上进行修改,将旧的option 改为新的选项,因此在此处用到了批量修改文件中的内容: 1. perl 命令替换: pe ...
- Linux批量修改用户密码
对系统定期修改密码是一个很重要的安全常识,通常,我们修改用户密码都使用passwd user这样的命名来修改密码,但是这样会进入交互模式,即使使用脚本也不能很方便的批量修改,除非使用expect这样的 ...
- Linux批量修改(删除)文件名某些字符(rename命令)
假设在路径C:/下存在多个类似以下的文件名 file_nall_abc1.txt file_nall_abc2.txt file_nall_abc3.txt file_nall_abc4.txt fi ...
- linux实例 批量修改图片文件名
1.如10.11一批这样的目录,10.11 10.12等等 然后里面的图片.jpg文件要修改成对应的日期.jpg,也就是说 编程1011.jpg这样的文件名 示例如下: #!/bin/bashfor ...
- Linux 批量修改文件名
背景:在研究MP4解码播放的时候音视频字幕的分片命名不符合规范,分片个数太多只能脚本实现. 解决问题类型: 1.将Garfield1HD_261_dan-*.m4s 统一转换为Garfield1HD_ ...
- linux批量修改文件名
源文件; [root@test_machine fuzj]# ls fuzj-1.txt fuzj-2.txt fuzj-3.txt fuzj-4.txt fuzj-5.txt fuzj-6 ...
- python批量修改word文件名
最近不小心把硬盘给格式化了,由于当时的文件没有备份,所以一下所有的文件都没有了,于是只能采取补救措施,用文件恢复软件恢复了一部分的数据出来,但是恢复完毕的文件的文件名全丢了,所有的文件只有代号,如下面 ...
随机推荐
- 哈理工OJ P2320:OX
题目链接:OX 题意 :给出一个3X3的黑白棋棋盘,棋盘上有若干黑白子,再给出下一个下的人,问下一个下的人能否赢 分析:考虑到只有39种状态,故用一个数保存目前棋盘的状态,记为value,再枚举空位D ...
- js字符串去除连续或全部重复字符
js字符串去除连续重复字符 ()和\number 配合使用表示重复正则第number个括号内匹配到的内容,如:(\d)\1表示重复第一个匹配块(\d)即等价于如果(\d)匹配到a,则表达式为aa 相应 ...
- bzoj 4585: [Apio2016]烟火表演【左偏树】
参考:https://blog.csdn.net/wxh010910/article/details/55806735 以下课件,可并堆部分写的左偏树 #include<iostream> ...
- 「vijos」lxhgww的奇思妙想(长链剖分)
传送门 长链剖分的板子(又是乱搞优化暴力) 对于每一个点,我们定义它深度最深的子节点为它的重儿子(为什么不叫长儿子……),他们之间的连边为重边 然后长链剖分有几个性质 1.总链长为$O(n)$ 2.一 ...
- mysql远程备份
相关链接:https://blog.csdn.net/LiuHuan_study/article/details/81512831https://www.cnblogs.com/ryanzheng/p ...
- [C++11新特性] 智能指针详解
动态内存的使用很容易出问题,因为确保在正确的时间释放内存是极为困难的.有时我们会忘记释放内存产生内存泄漏,有时提前释放了内存,再使用指针去引用内存就会报错. 为了更容易(同时也更安全)地使用动态内存, ...
- xml小练习
挑选你熟悉省份,制作xml城市列表 ----- 必备城市基本信息 10个城市 --- 一定要有属性对城市列表 添加DTD约束 <?xml version="1.0" enco ...
- TestNG基本注解(二)
1. Before类别和After类别注解 @BeforeSuite @AfterSuite @BeforeTest @AfterTest @BeforeClass @AfterClass @Befo ...
- jQuery Ajax使用实例
<script src="http://cdn.bootcss.com/jquery/1.11.2/jquery.js"></script> <scr ...
- JS格式化工具(转)
<html> <head> <title>JS格式化工具 </title> <meta http-equiv="content-type ...