Shell脚本是Linux和Unix系统中非常重要的一部分,可以用于自动化任务、管理系统、处理文本文件等。本文将介绍23个非常实用的Shell脚本实例,包括文件操作、文本处理、系统管理等方面的内容。
文件操作
1. 批量重命名文件
#!/bin/bash
for file in *.txt
do
mv "$file" "${file%.txt}.md"
done
上面的代码将当前目录下所有的.txt
文件批量重命名为.md
文件。
2. 查找并删除指定类型的文件
#!/bin/bash
find . -name "*.log" -type f -delete
上面的代码将当前目录及其子目录中所有的.log
文件删除。
文本处理
3. 统计文件中某个单词出现的次数
#!/bin/bash
word="hello"
count=$(grep -o "$word" file.txt | wc -l)
echo "$word appears $count times in file.txt"
上面的代码将统计文件file.txt
中单词hello
出现的次数。
4. 将文件中的所有单词转换为小写
#!/bin/bash
tr '[:upper:]' '[:lower:]' < file.txt > file_lower.txt
上面的代码将文件file.txt
中的所有单词转换为小写,并将结果输出到文件file_lower.txt
中。
系统管理
5. 查看系统中所有的进程
#!/bin/bash
ps -ef
上面的代码将列出系统中所有的进程。
6. 查看系统中所有的服务
#!/bin/bash
systemctl list-unit-files --type=service
上面的代码将列出系统中所有的服务。
网络操作
7. 测试网络连接
#!/bin/bash
ping -c 3 google.com
上面的代码将测试与google.com
的网络连接情况。
8. 查看网络接口信息
#!/bin/bash
ifconfig
上面的代码将列出系统中所有的网络接口信息。
示例说明
示例1:批量重命名文件
假设我们有一个目录,其中包含多个.txt
文件,我们希望将它们批量重命名为.md
文件。我们可以使用以下脚本:
#!/bin/bash
for file in *.txt
do
mv "$file" "${file%.txt}.md"
done
上面的代码使用for
循环遍历当前目录下所有的.txt
文件,并使用mv
命令将它们重命名为.md
文件。
示例2:统计文件中某个单词出现的次数
假设我们有一个名为file.txt
的文件,其中包含多个单词,我们希望统计其中单词hello
出现的次数。我们可以使用以下脚本:
#!/bin/bash
word="hello"
count=$(grep -o "$word" file.txt | wc -l)
echo "$word appears $count times in file.txt"
上面的代码使用grep
命令查找文件file.txt
中所有的hello
单词,并使用wc
命令统计它们出现的次数。最后,使用echo
命令输出结果。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:非常实用的23个Shell脚本实例 - Python技术站