在Linux系统中,文件名是非常重要的,它用于标识和区分不同的文件。在Linux shell中,我们可以使用各种命令来操作文件名,如创建、复制、删除、重命名等。本文将介绍一些常用的Linux shell命令,帮助用户更好地管理文件名。
1. 创建文件名:
在Linux shell中,我们可以使用touch命令来快速创建一个空文件。例如,要创建一个名为test.txt的文件,只需要运行以下命令:
原创
2024-05-22 10:31:35
123阅读
原文: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
1645阅读
#!/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
1216阅读
今天在工作时,遇到需要把几万张.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
2466阅读
我想修改类似如下一批文件的文件名: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
383阅读
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
392阅读
2评论
【代码】shell 文件名后缀修改。
原创
2022-09-03 02:09:52
869阅读
#! /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说明:
转载
2023-12-13 17:15:31
65阅读
正则表达式用来在文件中匹配符合条件的字符串 正则是包含匹配 grep awk sed等命令可以支持正则通配符用来匹配符合条件的文件名。通配符是完全匹配,ls find cp 命令不支持正则,只能shell通配符匹配 通配符- * 匹配任意多个字符
- ? 匹配任意一个字符
- [] 匹配括号中任意一个字符
- () 在子shell中执行
- {} 集合 touch file{}
- \ 转义符
转载
2024-02-19 12:52:54
104阅读
举例如下:批量创建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评论
shell脚本:批量修改文件名(文件名中添加字符)上一篇写过批量修改文件名(文件名中添加字符),工作中还存在这样的需求,批量修改文件名,删除文件名中的某些字符;举例如下:批量改名,删除文件名中多余字符目录下文件名为如下,要求去掉_finished。stu_102999_1_finished.jpgstu_102999_2_finished.jpgstu_102999_3_finished.jpgs
原创
精选
2016-02-19 16:26:08
10000+阅读
点赞
2评论
有些脚本要根据文件名进行各种处理,有时候需要保留文件名抛弃文件后缀,也有时候需要文件后缀不要文件名,这类提取文件部分的操作使用shell的内建功能就能实现。需要用到的几个操作符有:%、%%、#、##。 从右向左匹配 :% 和 %% 操作符的示例 从左向右匹配:# 和 ## 操作符示例 示例2,定义变
转载
2017-10-18 13:49:00
815阅读
2评论
文件名匹配/输出重定向文件名匹配文件名匹配使得您不必一一写出名称,就可以指定多个文件。您将用到一些特殊的字符,称为通配符(wildcards)。假设您想用'rm'命令删除目录下所有以字符串'.bak'结尾的文件。除了在'rm'后跟上所有文件名作为参数,您还可以用通配符'*':rm *.bak'*'可匹配一个或多个字符。在本例中, 您告诉 shell 将命令'rm'的参数扩展到"所有以'*.bak'
转载
2024-07-20 08:09:11
102阅读
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
687阅读
angename.sh #!/bin/bash result=`ls *$1
原创
2023-06-30 23:04:02
445阅读
憬薇关注0人评论15940人阅读2018-08-23 21:23:31 对文件名或目录名进行处理,通常的操作是由路径中提取出文件名,从路径中提取出目录名,提取文件后缀名等等。例如,从路径/dir1/dir2/file.txt中提取也文件名file.txt,提取出目录/dir1/dir2,提取出文件后
转载
2021-01-11 10:28:00
2634阅读
2评论
【代码】shell脚本批量修改文件名。
原创
2022-10-22 07:06:11
1130阅读
* 匹配文件名中的任何字符串,包括空字符串。
? 匹配文件名中的任何单个字符。
[...] 匹配[ ]中所包含的任何字符。
[!...] 匹配[ ]中非感叹号!之后的字符。
使用*
* 匹配文件名中的任何字符串,包括空字符串。
#ls -l |grep ^d --只显示目录,因为是以d
原创
2011-11-10 08:47:59
1026阅读
今天先来总结一下,那个取文件名后缀的问题这个是我的个人经历我在做一个关于文件名后缀匹配的问题一直搞不定文件名、就比如有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
2467阅读
需求:找到/123目录下所有后缀名为.txt的文件批量修改.txt为.txt.bak把所有.bak文件打包压缩为123.tar.gz批量还原文件的名字,即把增加的.bak再删除答案:#!/bin/bash
##查找txt文件
find /tmp/123 -type f -name "*.txt" >&
转载
2018-01-15 17:15:14
860阅读
点赞