在Linux系统中,文件名是非常重要的,它用于标识和区分不同的文件。在Linux shell中,我们可以使用各种命令来操作文件名,如创建、复制、删除、重命名等。本文将介绍一些常用的Linux shell命令,帮助用户更好地管理文件名。 1. 创建文件名: 在Linux shell中,我们可以使用touch命令来快速创建一个空文件。例如,要创建一个名为test.txt的文件,只需要运行以下命令:
原创 3月前
22阅读
原文:http://www.cnblogs.com/eustoma/p/4093529.html#! /bin/bashfor file in `ls`do filename=${file%.jpg} filehead=`echo $filename | awk -F _ '{print $1 }'` filelast=`echo $filename | awk -F
转载 精选 2016-01-11 11:16:42
1580阅读
#!/bin/bash#NeoXfolder=/root/foldercd $foldernum=0for filename in `ls $folder`; dolet num=$num+1#old filename:prefix+with . suffix, new filename:continuous digit +with . suffixmv $filename $num`echo $
转载 精选 2014-08-17 21:03:14
1205阅读
今天在工作时,遇到需要把几万张.png的图片改为.jpg的格式;通过以下方法对其进行批量修改:for png in `find ./ -maxdepth 1 -name "*.png"`;do mv $png `echo $png | sed 's/png/jpg/g'`;done真是好用呀,给自己点个赞
原创 2018-04-23 18:01:23
2436阅读
我想修改类似如下一批文件文件名:AA01_01.txtAA01_02.txtAA01_03.txtAA01_04.txt修改成BB02_01.txtBB02_02.txtBB02_03.txtBB02_04.txt把文件名的头换下。==============================================================for x in `seq 1 4`;do
转载 2014-11-12 21:40:00
372阅读
2评论
假如文件名是:time_filename.txt 改成filename_time.txt。例如20111111_me.txt改成me_201111111.txt要如何修改?1 #! /bin/sh 2 for eachfile in `ls -B` 3 do 4 filename=${eachfile%.txt} 5 filehead=`echo $filename | awk -F _ '{
转载 2014-11-12 21:17:00
372阅读
2评论
#! /bin/bashfor file in `ls`dofilename=${file%.jpg}filehead=`echo $filename | awk -F _ '{print $1 }'`filelast=`echo $filename | awk -F _ '{print $2 }'`mv $filename.txt ${filelast}_$filehead.txtdone说明:
【代码】shell 文件名后缀修改。
原创 2022-09-03 02:09:52
849阅读
正则表达式用来在文件中匹配符合条件的字符串 正则是包含匹配 grep awk sed等命令可以支持正则通配符用来匹配符合条件的文件名。通配符是完全匹配,ls find cp 命令不支持正则,只能shell通配符匹配 通配符- * 匹配任意多个字符 - ? 匹配任意一个字符 - [] 匹配括号中任意一个字符 - () 在子shell中执行 - {} 集合 touch file{} - \ 转义符
举例如下:批量创建10个随机字符串的文件,要求每个文件名后面添加_aaa,后缀不变;[root@localhost goodboy]# lsadddbbdedf.html  baacjaiija.html  bhcfaabcfh.html  dgjdcdfbca.html  efejadfdji.htmlagdhcdeaje.html  bgff
原创 精选 2016-02-18 15:00:27
10000+阅读
3点赞
3评论
shell脚本:批量修改文件名文件名中添加字符)上一篇写过批量修改文件名文件名中添加字符),工作中还存在这样的需求,批量修改文件名,删除文件名中的某些字符;举例如下:批量改名,删除文件名中多余字符目录下文件名为如下,要求去掉_finished。stu_102999_1_finished.jpgstu_102999_2_finished.jpgstu_102999_3_finished.jpgs
原创 精选 2016-02-19 16:26:08
10000+阅读
3点赞
2评论
有些脚本要根据文件名进行各种处理,有时候需要保留文件名抛弃文件后缀,也有时候需要文件后缀不要文件名,这类提取文件部分的操作使用shell的内建功能就能实现。需要用到的几个操作符有:%、%%、#、##。 从右向左匹配 :% 和 %% 操作符的示例 从左向右匹配:# 和 ## 操作符示例 示例2,定义变
转载 2017-10-18 13:49:00
764阅读
2评论
文件名匹配/输出重定向文件名匹配文件名匹配使得您不必一一写出名称,就可以指定多个文件。您将用到一些特殊的字符,称为通配符(wildcards)。假设您想用'rm'命令删除目录下所有以字符串'.bak'结尾的文件。除了在'rm'后跟上所有文件名作为参数,您还可以用通配符'*':rm *.bak'*'可匹配一个或多个字符。在本例中, 您告诉 shell 将命令'rm'的参数扩展到"所有以'*.bak'
憬薇关注0人评论15940人阅读2018-08-23 21:23:31 对文件名或目录进行处理,通常的操作是由路径中提取出文件名,从路径中提取出目录,提取文件后缀等等。例如,从路径/dir1/dir2/file.txt中提取也文件名file.txt,提取出目录/dir1/dir2,提取出文件
转载 2021-01-11 10:28:00
2520阅读
2评论
Shell批量重命名文件名  Shell批量重命名文件名 #!/bin/sh #替换文件名中的空格 find . -name "* *"| while read name;do na=$(echo $name | tr ' ' '_') mv "$name" $na done #将文件名替换成1、2、3、4、5、6等文件名,后缀保持不变(例如test.log --&
原创 2023-04-28 15:39:34
619阅读
angename.sh #!/bin/bash result=`ls *$1
原创 2023-06-30 23:04:02
411阅读
filename="hello.jpg"name=${filename%.*} //截取文件名从右向左第一个.之后全删除echo $name         //打印filename="hello.jpg"name=${filename#*.} //截取扩展,从左向右第一个点后面所有,##  从右向左第一个
原创 2014-06-25 14:42:40
3054阅读
文件名或目录进行处理,通常的操作是由路径中提取出文件名,从路径中提取出目录,提取文件后缀等等。例如,从路径/dir1/dir2/file.txt中提取也文件名file.txt,提取出目录/dir1/dir2,提取出文件后缀txt等。 下面介绍两种常用的方法来进行相关的操作。一、使用shell正则表达式 ${}1、${var##*/}该命令的作用是去掉变量var从左边算起的最后一个
原创 2018-08-23 21:23:31
10000+阅读
1点赞
  * 匹配文件名中的任何字符串,包括空字符串。 ? 匹配文件名中的任何单个字符。 [...] 匹配[ ]中所包含的任何字符。 [!...] 匹配[ ]中非感叹号!之后的字符。 使用* * 匹配文件名中的任何字符串,包括空字符串。 #ls -l |grep ^d        --只显示目录,因为是以d
原创 2011-11-10 08:47:59
826阅读
今天先来总结一下,那个取文件名后缀的问题这个是我的个人经历我在做一个关于文件名后缀匹配的问题一直搞不定文件名、就比如有a.tar.gz这种两个点的问题现在我已经有了两种解决方法我一一列举一下首先就是说一下cut的解决方法这是我的原创root@lp:~/pwb/tmp# cat 1 asd.deb asf.tar.gz asfasf.zip as.conf root@lp:~/p
原创 2016-03-05 11:14:59
2391阅读
  • 1
  • 2
  • 3
  • 4
  • 5