1.批量重命名——rename
使用方法:
rename 参数1 参数2 参数3
参数1:被替换的字符串
参数2:替换成的字符串
参数3:匹配要替换的文件模式
替换多个字符——【*】
脚本练习题:查找/etc下以【.conf】结尾的文件,将他们移动到/mnt,并命名为【.conf.月-日】,如:text.conf----->text.conf.3-14
参考脚本1:

执行前后对比:

上述脚本内容看起来看起来有点略微有些僵硬,我们可以换一个思路,利用find命令试试
参考脚本2

执行结果:(这一次比上一次好一点的是它把目录也复制过来并做了重命名;不过仍然很僵硬;随着后面知识的提升再慢慢更改吧)

脚本练习题:在后面我们每天都需要编写脚本,这些脚本需要保存下来以供复习,因此结合Linux所学,将每天写的脚本在晚上12点整自动备份到/creat中【目录自建】,文件名要求:text.sh ----->text_当天日期.sh
2.diff与patch
1)diff命令常用来比较文件的内容
操作演示:

上图相关参数解释:3c3
左3为第一个文件的第3行
右3为第二个文件的第3行
a 表示添加 --add
d 表示删除 --delete
c 表示更改 --change
< 表示第一个文件的内容
表示第二个文件的内容
比较结果:更改第一个文件第三行内容如第二个文件第三行,文件内容就相同了
diff常用参数:

2)patch
作用:添加补丁,实质上就是将两个文件的内容不重复的合并成一个文件
首先需要安装相关软件
yum install patch -y
示例:
diff -u text text1 > text.path ##将不同处重定向到text.path(补丁)
patch -b text text.path ## 将补丁输入源文件text,-b保留源文件 >> 一般保险起见,都会加-b保留源文件

3.cut
通常用来截取文件内容的某些部分
常用参数
-d ##指定分割符
常用 -d :(冒号) 或 " "(空格)
-f ##指定截取的列
常用 -f 1 | 1,3 | 1-3
-c ##指定截取的字符位置
常用 -c 1 | 1-5
示例:查找能登陆系统的用户
以冒号为分隔符截取第一列

练习:截取本机IP
ifconfig | grep "inet 17" | cut -d " " -f 10

4.sort和unip
sort 命令常用来排序
unip命令对字符作相应的处理
sort
-n ##纯数字排序
-r ## 倒序
-u ## 去掉重复数字
-o ## 输出到指定文件中
-t ## 指定分割符
-k ## 指定要排序的列
uniq
-u ## 显示唯一的行
-d ## 显示重复的行
-c ## 每行显示一次并统计重复次数
这篇博客介绍了Linux shell脚本中的几个实用工具:批量重命名文件用到的`rename`命令,文件内容比较的`diff`与`patch`,截取文件内容的`cut`,以及排序与字符处理的`sort`和`unip`。通过实例演示了如何使用这些命令,包括批量移动并重命名`.conf`文件,以及脚本备份和文件内容的比较与合并。
——diff、rename、cut、sort、unip&spm=1001.2101.3001.5002&articleId=88564372&d=1&t=3&u=d0eee31119df4b0bafe872eb736e4dfe)
213

被折叠的 条评论
为什么被折叠?



