首页 > 系统相关 >linux 文件名乱码 文件名出现问号 批量修改文件名

linux 文件名乱码 文件名出现问号 批量修改文件名

时间:2023-11-06 12:07:17浏览次数:43  
标签:do 文件名 jpg echo 乱码 mv linux var

linux 文件名乱码 文件名出现问号
原因:创建文件的批处理文件使用windows编辑的,因为windows的换行是\r\n,而linux换行是\n,出现一些乱码

如何处理:  1. linux 批量重名名    2. dos2unix 把Windows文件转换格式

 

Linux Shell 批量重命名的方法

1、删除所有的 .bak 后缀:
rename 's/\.bak$//' *.bak

2、把 .jpe 文件后缀修改为 .jpg:
rename 's/\.jpe$/\.jpg/' *.jpe

3、把所有文件的文件名改为小写:
rename 'y/A-Z/a-z/' *

4、将 abcd.jpg 重命名为 abcd_efg.jpg:
for var in *.jpg; do mv "$var" "${var%.jpg}_efg.jpg"; done

5、将 abcd_efg.jpg 重命名为 abcd_lmn.jpg:
for var in *.jpg; do mv "$var" "${var%_efg.jpg}_lmn.jpg"; done

6、把文件名中所有小写字母改为大写字母:
for var in `ls`; do mv -f "$var" `echo "$var" |tr a-z A-Z`; done

7、把格式 *_?.jpg 的文件改为 *_0?.jpg:
for var in `ls *_?.jpg`; do mv "$var" `echo "$var" |awk -F '_' '{print $1 "_0" $2}'`; done
for var in `ls *meme?`; do mv "$var" `echo "$var" | sed 's/?//g' |  sed 's/\r//g' | awk  '{print $1}'`; done

8、把文件名的前三个字母变为 vzomik:
for var in `ls`; do mv -f "$var" `echo "$var" |sed 's/^.../vzomik/'`; done

9、把文件名的后四个字母变为 vzomik:
for var in `ls`; do mv -f "$var" `echo "$var" |sed 's/....$/vzomik/'`; done


标签:do,文件名,jpg,echo,乱码,mv,linux,var
From: https://blog.51cto.com/emanlee/8203470

相关文章

  • linux 中top命令显示完整的command
    命令比较长时,显示不全(全称,全名),可以用top-c  ......
  • Linux Centos安装JDK1.8教程
    第一步:先下载JDK1.8,可以去官网下载,也可以直接这里的:下载地址:链接:https://pan.baidu.com/s/1f1EDWvG-GzpQRJaC_W4SpA密码:9pj1先检查是否有安装JDK:#rpm-qa|grepjdk先把系统自带的干掉(如果没有直接跳过):   rpm-e--nodepsjava-1.7.0-openjdk-1.7.0.45-2.4.3.3.el6.x86_64......
  • Linux高频命令
    1.sed字符替换用法;sed's/原字符串/替换字符串/'单引号里面,s表示替换,三根斜线中间是替换的样式,特殊字符需要使用反斜线”\”进行转义。单引号”‘’”是没有办法用反斜线”\”转义的,这时候只要把命令中的单引号改为双引号就行了,格式如下:#要处理的字符包含单引号se......
  • Linux认证 | RHCA是什么等级的证书?考到工资能有多少?
    RHCA就是红帽认证架构师,RHCA是红帽公司在红帽认证工程师(RHCE)和红帽认证技师(RHCT)认证推出之后又一个最新的顶级认证,在业界也是最受欢迎的、最成熟的linux认证。那么RHCA是什么等级的证书?考到工资多少呢?下面我们就来了解一下吧。01RHCA是什么等级的证书?红帽认证分为三个等级:红帽认证......
  • Linux下内存buff/cache占用过多问题解决
    在Linux下经常会遇到buff/cache内存占用过多问题,如果buff/cache占用过大的,free空闲内存就很少,影响使用;通常内存关系是:普通机器:total=used+free虚拟机器:total=used+free+buff/cache这个时候可以看到buff/cache占用的内存非常大,这个时候可以使用一下命令去清除一下cache内存echo1>......
  • Linux基础命令(一)
    ls就是list的缩写,通过ls命令不仅可以查看linux文件夹包含的文件,而且可以查看文件权限(包括目录、文件夹、文件权限)查看目录信息等常用参数://列出目录所有文件,包含以.开始的隐藏文件ls-a//列出除.及..的其它文件ls-A//反序排列ls-r//以文件修改时间排序ls......
  • Linux 日志管理
    rsyslog介绍日志(Log)是记录和存储计算机、软件、应用或其他系统的操作和事件的文件或数据流。它们可以为系统管理员、开发人员和最终用户提供详细的背景信息,以帮助他们了解和诊断系统的行为。rsyslog是一个开源的日志处理工具,一般用在类Unix系统上,是syslogd的扩展。它提供了更......
  • Linux基础操作
    1)将原来的虚拟机映像文件复制到一个新的目录,并启动新复制好的虚拟机。 2)练习使用date、shutdown、exit、halt、reboot等命令a.使用date命令修正系统时间,改为当前日期时间 b.使用shutdown命令发出警告信息,查看其他控制台上的用户是否收到信息。  c.通过Internet查找......
  • 在Bash中提取文件名和扩展名
    内容来自DOChttps://q.houxu6.top/?s=在Bash中提取文件名和扩展名我想分别获取不带扩展名的文件名和扩展名。目前为止找到的最佳解决方案是:NAME=`echo"$FILE"|cut-d'.'-f1`EXTENSION=`echo"$FILE"|cut-d'.'-f2`这个解决方案是错误的,因为它在文件名包含多个.字......
  • linux 进程的管理和调度 --- __schedule() 函数分析
    运行队列Linux采用的是每个CPU都有自己的运行队列,这样做的好处:(1)每个CPU在自己的运行队列上选择任务降低了竞争;(2)某个任务位于一个CPU的运行队列上,经过多次调度后,内核趋于选择相同的CPU执行该任务,那么上次任务运行的变量很可能仍然在这个CPU缓存上,提高运行效率。 __schedule() ......