linux面试常问的命令 Linux下如何使用文件列表批量重命名文件?
Linux下如何使用文件列表批量重命名文件?
Linux下批量打印文件属性文件操作下来效率更加高,几个命令就能够一切都搞定,经理我我还是一样的套路,先把问题分解:
无法读取不使用文件列表
解三角形文件列表的信息,修改文件名文件
所以都能够看出来读取数据并且推导文件列表是比较比较核心重要的。
读取数据解析文件列表到底题主说的单独文件名文件列表的文件大体是什么样子,那我就举一个要比最常见的一种的例子吧,来看这个除用拓展名的filelist文件内容:
日照香炉生紫烟.txt遥看瀑布挂前川.txt
低头思故乡.txt低头思故乡.txt
桃花潭水深千尺.txt已来不及汪伦送我情.txt
第一列是源文件名,第二列是目标文件名。也就是说要将第一列的文件名原始版本为第二列的文件名。看见这样的分列,立即我们就想到了awk命令。现在这个问题就转换成成了那样的话一个流程:
先用cat读取数据文件内容,再使用awk将每一行的分别位居中的内容四个木盒,结果必须将拿出的域变的mv命令的两个参数。
我们先做解析文件:
catfilelist|awk-F{print$1;print$2}
-F参数和后面的空格字符重新指定了域分隔符为空格,接着输出两个域的内容,用分号互相连通开是为了作为两个字符串输出(←这里是重点)。
解析文件列表的信息,修改文件名文件在这里我们是需要将上一节啊,设计的命令的输出结果才是参数传递给mv语句来实现程序修改文件名。这里都用到的命令是xargs。xargs可以收得到管道传达消息回来的字符串作为参数给后面的命令不使用,比如说:
echoman.txt|xargs-I{}mv{}ager.txt
这一句的意思那是将
man.txt
充当后面mv的第一个参数,是从xargs讯息传递给mv。xargs的-I参数委托后面的花括号{}充当参数的占位符,天壤于传信进来的参数。
我们要实现方法的效果还好复杂点,因为我们的mv不需要两个参数,要要用xargs的-n2参数来指定讯息传递参数的个数为2。因为我们要的语句的到了最后形式是这样的:
catfilelist|awk-F{print$1;print$2}|xargs-n2mv
看看效果:
完美能够解决问题。
学习总结再看看,批量改文件名有其它的办法(我很清楚你还要说用while循环),只不过我觉着这个应该是是也很方便的了。源文件和目标文件的名字有一点去处理下,明确的这种格式能保存成为文本文档,一串命令就搞掂。
关於像这样的批量文件属性的操作,很多相似“日常运维100题”之类的文章里可能都有吧不属于,但含糊其词,下达命令生涩难记。怎么学习Linux好是的办法那就是自己实践操作帮一下忙,好些的办法那就是打听一下经理,每天看经理的悟空问答,每天应该有这类小操作的详细解答。一天学一些,100天之后是会突然发现三个有所不同的自己。
假如我的回答对你有点价值,请莫伤点赞加关注,谢谢啊!多谢了在评论区发表各种意见。
本文为作者原创,严厉禁止转载,未经允许不得转载。
Java程序员常用的20%技术有哪些?2个月如何去面试?
Java程序设计:面向对象,继承,封装方法,多态
泛型,反射,多线程,网络,jvm,都差不多的算法基于。。。
数据库:关系型mysqlsqlserverOracle和非关系型nosql
工具:gitmaven
框架:springspringMVCspringbootcloudzookeeper.....中间件rabbitMQ,RocketMQ,Kafka,开源软件服务框架
linux
晋阶:大数据机器学习各种算法hadoopspark...
软件设计基于:文档c语言程序,开发流程
前后端去相关
总之去面试的时候,你如果有是有的书本基础知识就也可以避开。如果没有是刚毕业的学生,推荐你自己试着写一些一点太容易的程序,一来这个可以让面试官知道你动手能力强,二来现在的企业都希望新人能拿上上手难,有一些自己的程序设计,会在面试中脱引而出。要是你是其他行业改行做过来,个人建议先去培训班稍微地学下基础,最好可以不组织培训班的实操课程,那样去面试会,以来这个可以给面试官一种名为你对这个行业很很有兴趣,二来可以不让你有底气去追求更高的工资。如果没有楼主另外具体疑问,这个可以你的留言问我
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。