linux中,只替换第一列内容里的所有符号. 为符号 -

linux中,只替换第一列内容里的所有符号. 为符号 -,第1张

这就必须要仔细阅读 Linux 系统的 shell 编程的教材了。我虽然很久没有进行 Linux SHELL 编程,但是我可以给你提供一个思路。我记得字符串替换是:sed 命令。如下所示:

sed 's/原字符串/替换字符串/'

其中:s 代表字符串替换。

至于说 sed 还有很多参数,那就必须要使用 man 命令阅读 sed 的文档了。

引用了stablish 写的一个脚本

单纯的依靠mv命令做不到,需要脚本来实现

编写脚本 rename 如下

#----------------------------------------------

#!/bin/sh

ls -l $1 | grep ^[^d] | awk ''| while read linedo

do=`echo $line | grep $2`

if [ ! "$do" = "" ]then

newname=`echo $line | sed 's/'$2'/'$3'/g'`

echo "rename $line to $newname ..."

mv $1/$line $1/$newname

fi

done

#------------------------------------------------

将以上保存为 rename文件,

然后运行

chmod +x rename

使rename可运行

然后按照如下格式执行rename

假设rename在当前路径

$./rename [fullpathtofiles] .sql.cluster1 .sql

[fullpathtofiles] 指向你的BAOAN102671.sql.cluster1 这些文件的全路径即可

参考以下我的演示 ,将具体路径替换到你的即可,实际测试通过

--------------------------------

root@bogon~/testmv# ls

12343234234.sql.cluster1 323423423423.sql.cluster1 sdfdssddd.sql.cluster1

root@bogon~/testmv# cd ..

root@bogon~# ./rename ./testmv/ .sql.cluster1 .sql

rename 12343234234.sql.cluster1 to 12343234234.sql ...

rename 323423423423.sql.cluster1 to 323423423423.sql ...

rename sdfdssddd.sql.cluster1 to sdfdssddd.sql ...

root@bogon~# cd testmv

root@bogon~/testmv# ls

12343234234.sql 323423423423.sql sdfdssddd.sql


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/9028364.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-24
下一篇 2023-04-24

发表评论

登录后才能评论

评论列表(0条)

保存