打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
写代码我不如chatGPT
userphoto

2023.07.05 广东

关注

不服不行啊,最近遇到了一个文件批量修改名字的Linux代码需求:

CRR315530 S1F
CRR315531 S1M
CRR315532 S2F
CRR315533 S2M
CRR315534 S5F
CRR315535 S5M
CRR315536 S12F
CRR315537 S12M
CRR315538 S15F
CRR315539 S15M

就是我服务器里面有上面的文本内容的第一列的这些文件,但是这些文件名字确实是有点难以理解;

CRR315530/outs/web_summary.html
CRR315531/outs/web_summary.html
CRR315532/outs/web_summary.html
CRR315533/outs/web_summary.html
CRR315534/outs/web_summary.html
CRR315535/outs/web_summary.html
CRR315536/outs/web_summary.html
CRR315537/outs/web_summary.html
CRR315538/outs/web_summary.html
CRR315539/outs/web_summary.html

所以需要根据前面的文本文件的第一列和第二列对应关系进行改名。然后我就随手问了chatGPT如何写代码,我很随意的提问:我需要在Linux里面批量修改文件名字,我有一个txt文件里面有两列,第一列存储的文件名字需要使用shell命令修改为第二列的?

chatGPT给我的回答超级好:


在Linux中,你可以使用bash shell脚本来批量修改文件名。假设你的txt文件(假设名为names.txt)的格式如下:

oldname1 newname1
oldname2 newname2
oldname3 newname3
...

你可以使用以下的bash脚本来批量修改文件名:

while read -r oldname newname
do
    mv "$oldname" "$newname"
done < names.txt

这个脚本的工作原理是这样的:read -r oldname newname会从names.txt文件中读取每一行,并将每一行的内容分割成两部分,分别赋值给变量oldnamenewname。然后,mv "$oldname" "$newname"命令会将旧文件名修改为新文件名。done < names.txt表示这个循环会读取names.txt文件中的每一行,直到文件结束。

注意:在运行这个脚本之前,你需要确保你有权限修改这些文件,并且这些文件确实存在。为了避免错误,你可以先在一个包含一些测试文件的目录中试运行这个脚本,看看结果是否符合你的预期。


我都不知道还可以这样的,最后的文件读取技巧,以及读取接下来两列文件居然可以使用样的:read -r oldname newname会从names.txt文件中读取每一行,并将每一行的内容分割成两部分,分别赋值给变量oldnamenewname

可以看到,完美改名了:

S12F/outs/web_summary.html
S12M/outs/web_summary.html
S15F/outs/web_summary.html
S15M/outs/web_summary.html
S1F/outs/web_summary.html
S1M/outs/web_summary.html
S2F/outs/web_summary.html
S2M/outs/web_summary.html
S5F/outs/web_summary.html
S5M/outs/web_summary.html

虽然我写出不来

但是我看得懂chatGPT给我的代码,因为有Linux基础,感觉从此以后大家都很少需要把一个技术学到出神入化了,因为再怎么厉害也不可能比chatGPT厉害,但是对技术的基本认知是需要的,不然看不懂chatGPT给我们的回答也不敢直接使用chatGPT给我们的代码,在Linux操作系统很多代码很危险。

而且,chatGPT有时候会给出一下似是而非的,暗藏bug的代码,这些都需要我们有基础认知才有可能更好的利用chatGPT的辅助。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
记住这几行Python代码,文件批量改名不是事!
COS对象存储服务的使用
零代码编程:用ChatGPT批量将HTML文件转为PDF
PowerShell实现批量重命名文件
在EXCEL中给文件改名
java中文件操作大全
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服