sub(/^a/,"b")" /> sub(/^a/,"b")"> Linux文件名替换_系统运维_内存溢出

阅读 14

Linux文件名替换,第1张

1、直接用mv移动命令

mv a**.cpp b**.c#移动以a开头.cpp文件

并重命名成以b开头.c文件

2、用文本处理工具awk *** 作

ls a*.cpp | awk '{n=$0sub(/^a/,"b")sub(/\.cpp$/,".c")system("mv "n" "$0)}'

#ls命令查看所有a开头的.cpp文件,然后|(管道符)传递到awk命令处理,用sub实现第一个位置的替换^a以a开头的替换成b开头。

3、用for循环字符串截取方法

for filename in a*.cpp

do

    len=${#filename}

    newName="b"${filename:1:len-3}

    mv $filename $newName

done

4、用sed的正则表达式替换

for filename in a*.cpp

do

    newName=`echo $filename|sed -r 's/^a(.*\.c)pp$/b\1/'`

    #匹配以a开头以.c结尾的文件,然后替换成b

    mv $filename $newName

done

linux下重命名文件或文件夹使用mv既可实现。

例子:

①将一个名为abc.txt的文件重命名为1234.txt

[root@station90

root]#mv

abc.txt

1234.txt

②将目录A重命名为B

[root@station90

root]#mv

A

B

③将a.txt移动到/b下,并重命名为c.txt

[root@station90

root]#mv

a.txt

/b/c.txt

关注《linux就该这么学》,小白轻松变大牛。

告诉lz一个思路,不用脚步只要用一个命令就能实现,可以用find这个命令,先将.a的文件找出来,然后用mv这个命令改,可惜find这个命令连用(不是管道)我还不是很会


如果一定要用脚步,那可以用if循环来实现,首先进入这个文件夹的最里面的那个,然后一点一点判断,在改名。不过这个方法比较的麻烦,等于编程了

欢迎分享,转载请注明来源:

内存溢出

原文地址:

http://outofmemory.cn/yw/8929991.html
并重
(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小小游戏 小小游戏 一级用户组
Linux下怎样用fdisk命令分区
上一篇
2023-04-23
学习linux需要什么基础?需要了解C语言和C++吗?
2023-04-23

发表评论
请登录后评论... 登录
提交

    评论列表(0条)
保存
{label} {label} sub(^a,"b")', author : '小小游戏', cat_name : '系统运维', time_y_m : '2023年04月', time_d : '23', site_motto : '内存溢出' }; {script} {script}