精华内容
下载资源
问答
  • 本文主要给大家介绍了关于Linux shell用sed批量更改文件名的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。 示例 去除特定字符 目标:将 2017-01-01.jpg、2018-01-01.jpg 改为 ...
  • Linux批量修改文件名有时候我们有一个目录下面的文件名都需要重新命令如: 以下有十个学生完成的脚本,现在需要将finish改为ing[root@slavetest]#touchstudent_{01..10}_finish.sh[root@slavetest]#lsstudent_*...

    Linux中批量修改文件名

    有时候我们有一个目录下面的文件名都需要重新命令

    如: 以下有十个学生完成的脚本,现在需要将finish改为ing

    [root@slave test]# touch student_{01..10}_finish.sh

    [root@slave test]# ls student_*

    student_01_finish.sh  student_03_finish.sh  student_05_f

    student_02_finish.sh  student_04_finish.sh  student_06_finish.sh  student_08_finish.sh  student_10_finish.sh

    方法1: sed

    for f in `ls student_*` ; do echo $f | mv $f `sed 's#finish#ing#g'`;done

    方法2: awk 字符串拼接的方法(在传递给bash)

    测试:

    [root@slave test]# echo student_05_finish.sh | awk -F 'finish' '{ print "mv " $0 " " $1 "ing"$2}'

    mv student_05_finish.sh student_05_ing.sh

    批量执行

    [root@slave test]# for f in `ls student*` ;do echo $f | awk -F 'finish' '{ print "mv " $0 " " $1 "ing"$2}';done | bash

    [root@slave test]# ls student_*

    student_01_ing.sh  student_03_ing.sh  student_05_ing.sh  student_07_ing.sh  student_09_ing.sh

    student_02_ing.sh  student_04_ing.sh  student_06_ing.sh  student_08_ing.sh  student_10_ing.sh

    或:

    for f in `ls student*` ;do echo $f | mv $f `awk -F 'finish' '{ print  $1 "ing" $2}'`;done

    方法三: rename命令,专业处理批量修改文件名的linux 命令

    用法: man rename

    f4223a03380212d94f4d2708a2bf3ebe.png

    [root@slave test]# rename "finish" "ing" student_*

    [root@slave test]# ls student_*

    student_01_ing.sh  student_03_ing.sh  student_05_ing.sh  student_07_ing.sh  student_09_ing.sh

    student_02_ing.sh  student_04_ing.sh  student_06_ing.sh  student_08_ing.sh  student_10_ing.sh

    展开全文
  • 问题:linux系统中文件名包含中文,导致页面访问不了文件。就是上条博客中的解决方法二遗留问题。 文件名中有以下格式:TC2_诺而达铜管(中山)有限公司.pdf ,要改为TC2.pdf,去掉中文部分 1、先了解linux 获取...

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

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

     

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

    1)${var##*/}

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

    2)${var#*/}

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

    具体请看:https://www.cnblogs.com/xiaomai333/p/9760304.html

    例子:如下面这样的文件名批量去掉红框部分,需要结合shell里面的循环与mv命令

    脚本如下:

    注:两个%会取掉红框的内容,一个%号只会去掉_192192.

    展开全文
  • linux文件名批量修改 利用rename命令,实现批量重命名效果。注意:需要到需要修改的文件路径下执行,无法实现文件下所有子路径都执行批量修改,只会修改当前路径的文件名 1、没有rename的需要安装rename debain/...

    linux文件名批量修改
    利用rename命令,实现批量重命名效果。注意:需要到需要修改的文件路径下执行,无法实现文件下所有子路径都执行批量修改,只会修改当前路径的文件名
    1、没有rename的需要安装rename
    debain/ubuntu:

    apt install rename

    centos:

    yum install rename

    2、rename命令执行例子,-n预览执行效果(不是真修改),-v执行命令(真修改)
    例子:
    将文件名中的a1批量修改成a2:

    rename -v 's/a1/a2' *

    如将文件1.mp4修改成文件2.mp4

    renmae -v ‘s/1/2' *.mp4

    将文件名中的空格删除

    rename -v 's/[ ]+//g' *

    将文件名中、删除

    rename -v 's/、//' *

    将文件名中的英文大写改成小写(最好在*后面加上文件后缀,避免文件后缀也被替换,导致无法使用的问题)

    rename -v 'y/A-Z/a-z/' *

    将文件名中的英文小写改成大写(最好在*后面加上文件后缀,避免文件后缀也被替换,导致无法使用的问题)

    rename -v 'y/a-z/A-Z/' *

    在文件名的开头加入字符串a1

    rename 's/^/a1/' *

    在文件名的末尾加入字符串a1

    rename 's/$/a1/' *

    多个rename可以用&&连接,如:删除文件名中空格和中文标点、的命令:

    rename -v 's/[ ]+//g' *&&rename -v 's/、//' *

    解决子目录无法全部修改问题,参考:

    Linux批量修改文件名(二):




     

     
    展开全文
  • linux批量修改文件名-多种方法

    千次阅读 2020-12-08 16:12:21
    使用rename命令批量修改文件名 比如我想修改这些文件名,把10之前的部分都给去掉 rename 's/截屏2020-12-08 上午//g' * 就这样就完事了 使用mv命令批量修改文件名 文件如上所示 MY_SAVEIFS=$IFS #my_saveifs 这...

    前言

    不得不说,linux可真是博大精深,命令非常多,每个命令的用法也非常多

    使用rename命令批量修改文件名

    在这里插入图片描述
    比如我想修改这些文件名,把10之前的部分都给去掉

    rename 's/截屏2020-12-08 上午//g' *
    

    在这里插入图片描述

    就这样就完事了

    使用mv命令批量修改文件名

    文件如上所示

    MY_SAVEIFS=$IFS  
    #my_saveifs 这个是bash默认的分割符号,因为我这个文件名字中间有空格,所以需要修改一下这个默认分割符,否则的话会把一个文件看成两个文件                                                                                                                                            
    IFS=$'\n'    
    for name in `ls`; 
    do    
    mv ${name} ${name#截屏2020-12-08 上午} ; 
    done    
    IFS=$MY_SAVEIFS
    

    在这里插入代码片

    展开全文
  • linux批量修改文件名

    2021-03-12 23:24:59
    新建了一批文件把JPG改为jpg,再机器学习...写脚本运行关键用到了${}具体参考Linux中的$符号的三种常见用法 #!/bin/bash for name in `ls *.jpg` do firstname=${name%.*} mv $name $firstname.html done 当.
  • Linux系统中批量创建文件,和批量修改文件名。 编写脚本,在/tmp 目录下批量创建 500 个文件,命名规则为:姓名.数字.hack.html 方法一: 1、touch name.{1…500}.hack.html 方法二: 2、for i in seq 500;do touch ...
  • 方法一:mv配合for循环方式进行修改 ...done 方法二:sed命令 ...rename命令用字符串替换的方式批量改变文件名。 格式:rename 原名 替换名 要改的文件 rename txt jpg * 方法四: find ./ -name xxx...
  • Linux 批量修改文件名(前缀或后缀)

    万次阅读 2019-05-07 14:27:18
    Linux 批量修改文件名(前缀或后缀) 有些文件的要求前缀或后缀要一样,或者批量的将文件重命名 添加前缀: for i in `ls`; do mv -f $i `echo "text_"$i`; done 替换后缀:rename 's/\.txt/\.csv/' * 实例如下: ...
  • Linux 批量修改文件名和后缀

    万次阅读 2019-03-15 16:38:44
    批量修改文件名 例如,去掉文件名中的test: rename -n 's/[test]//g' *.jpg S///代表替换 [ test ]代表匹配文件名中的字符串test g 代表匹配全部 批量增加后缀 for i in * ; do mv $i $i".jpg" ; ...
  • Linux批量修改文件名的两种方式

    千次阅读 2020-02-24 18:43:35
    对许多文件进行重命名时,我们一般就会要使用批量命令来做: 一种是使用rename命令,另外一种是使用xargs组合命令
  • linux 批量修改文件名后缀名命令rename

    万次阅读 多人点赞 2017-10-31 15:29:06
    1、批量更改目录下所有文件的后缀名。  命令格式:rename 's/\.csv/\.txt/' *  现在我当前目录R1下有60个后缀是txt的文件,我想把所有的...2、批量把目录下所有文件名包含大写部分修改为小写。  命令格式:ren
  • 本篇文章主要介绍了详解Linux批量更改文件后缀名,主要是使用了rename,有需要的朋友可以了解一下。
  • linux批量修改文件名的脚本代码,主要是使用了rename,结合shell,喜欢的朋友可以参考下
  • Linux批量修改文件名

    2021-10-24 15:44:32
    例如:在工作中经常会遇到要在linux系统下,批量修改目录里文件名的需求,很多人习惯一个文件一个文件的修改,这里就是帮忙解决批量修改文件名的问题,也提醒大家遇到问题多搜一搜解决办法 提示:下面案例可供参考 ...
  • 批量更新文件名和对应的引用名,这是一个很好用的批量修改文件名和文件引用的例子。
  • Linux 批量修改文件名

    千次阅读 2016-04-24 16:07:04
    linux 批量重名名 Linux Shell 批量重命名的方法总览   1、删除所有的 .bak 后缀: rename 's/\.bak$//' *.bak   2、把 .jpe 文件后缀修改为 .jpg: rename 's/\.jpe$/\.jpg/' *.jpe   3、把所有文件的...
  • linux批量修改文件名

    千次阅读 2018-04-13 13:17:13
    背景:工作中经常遇到批量添加或者删除文件后缀的情况,用过很多方式,发现mv配合for循环,简单实用;如下,文件后边加个‘.txt’只需一行代码,当前目录下输入:(注意";"号)for i in 3_*; do mv $i $i...
  • linux批量更改文件名

    千次阅读 2018-12-22 18:38:40
    find ./ -name xxx | xargs -i mv {} {}.xx  其中xxx是要改的文件名,亲测可行
  •  linux批量修改文件名大小写 命令行进入要修改文件名的文件目录下,然后: for file in *.*;do newname=`echo $file | tr "[A-Z]" "[a-z]"`;mv -f $file $newname 2>/dev/null;done 经常遇到图片...
  • 使用命令 sed -i 's///g' <文件> grep -...批量替换文件名 搜索该目录及子目录下全部文件名包含字符串"string1"的文件,并将文件名中字符串"string2"替换为"string3". rename string2 string3 `find -name "*string1*"`
  • Linux批量去掉文件名前缀

    千次阅读 2020-10-10 18:59:05
    Linux批量去掉文件名前缀 如下文件名批量修改: 202007070923_12345678.txt 202007070923_23456789.txt 使用命令: for name in 2020*.txt; do mv “name""name" "name""{name#*_}”; done 命令解析: #*为删除第一...
  • 批量修改文件名 #!/usr/bin/env bash # rename.sh 路径 原字符串 新字符串 dir=$1 backuppath=$dir'/backup/' if [ ! -d $backuppath ]; then mkdir $backuppath else rm -rf $backuppath echo 'remove '$...
  • 初始文件名 ls -lh total 5.5G-rw-r--r-- 1 root root 193K Sep 28 09:38 20180908.txtdrwxr-xr-x 2 root root 4.0K Mar 7 16:37 batch-rw-r--r-- 1 root root 160M Mar 13 16:35 batch_dispatcher.log.1-rw-r--r-- ...
  • 平常开发过程中经常会遇到一些配置文件需要批量性修改文件名称,而且目录架构不同,导致修改非常繁琐,一下提供linux下 ...2.Linux批量寻找文件 hello字样的.c文件: find -name hello*.c 3.组合...
  • Linux中如何批量修改文件名

    千次阅读 2018-02-06 16:11:50
    修改文件名 mv rename for循环 mv命令 man mv ==> mv -move(rename) files 移动或重命名文件 ,mv [path/]oldfilename [path/]newfilename “mv命令只能对单个文件重命名” 将 a 重命名为 b 文件...
  • Linux批量修改文件名有时候我们有一个目录下面的文件名都需要重新命令如: 以下有十个学生完成的脚本,现在需要将finish改为ing[root@slavetest]#touchstudent_{01..10}_finish.sh [root@slavetest]#lsstudent_* ...
  • Linux批量修改文件名

    千次阅读 2016-03-30 10:18:47
    Larry Wall的rename脚本, 只用了个位行数的代码就构造出一个功能超强的批量文件重命名工具:  注释: 1. # touch rename.perl //创建一个文件:rename.perl , 内容如下。 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 20,988
精华内容 8,395
关键字:

linux批量修改文件名

linux 订阅