在Shell脚本中,你可以使用sed
命令批量注释或取消注释文件中的行。
以下示例将演示如何为一个目录中的所有 .sh 文件添加或删除行首的井号(#)注释符。
![Linux shell脚本批量注释(Linux批量注释) 图片[1]-Linux shell脚本批量注释(Linux批量注释)-不念博客](https://www.bunian.cn/wp-content/uploads/2023/04/u20191976181988534716fm253fmtautoapp138fJPEG.webp)
编写批量添加注释的Shell脚本(例如:add_comments.sh):
#!/bin/bash# 指定目标目录target_directory="/path/to/your/directory"# 遍历目标目录下的.sh文件for file in "$target_directory"/*.sh; do# 使用sed在每行行首添加井号(#)sed -i 's/^/#/' "$file"# 输出已修改的文件名echo "已为 $file 添加注释"done#!/bin/bash # 指定目标目录 target_directory="/path/to/your/directory" # 遍历目标目录下的.sh文件 for file in "$target_directory"/*.sh; do # 使用sed在每行行首添加井号(#) sed -i 's/^/#/' "$file" # 输出已修改的文件名 echo "已为 $file 添加注释" done#!/bin/bash # 指定目标目录 target_directory="/path/to/your/directory" # 遍历目标目录下的.sh文件 for file in "$target_directory"/*.sh; do # 使用sed在每行行首添加井号(#) sed -i 's/^/#/' "$file" # 输出已修改的文件名 echo "已为 $file 添加注释" done
编写批量取消注释的Shell脚本(例如:remove_comments.sh):
#!/bin/bash# 指定目标目录target_directory="/path/to/your/directory"# 遍历目标目录下的.sh文件for file in "$target_directory"/*.sh; do# 使用sed删除每行行首的井号(#)sed -i 's/^#//' "$file"# 输出已修改的文件名echo "已为 $file 移除注释"done#!/bin/bash # 指定目标目录 target_directory="/path/to/your/directory" # 遍历目标目录下的.sh文件 for file in "$target_directory"/*.sh; do # 使用sed删除每行行首的井号(#) sed -i 's/^#//' "$file" # 输出已修改的文件名 echo "已为 $file 移除注释" done#!/bin/bash # 指定目标目录 target_directory="/path/to/your/directory" # 遍历目标目录下的.sh文件 for file in "$target_directory"/*.sh; do # 使用sed删除每行行首的井号(#) sed -i 's/^#//' "$file" # 输出已修改的文件名 echo "已为 $file 移除注释" done
为脚本添加执行权限:
chmod +x add_comments.shchmod +x remove_comments.shchmod +x add_comments.sh chmod +x remove_comments.shchmod +x add_comments.sh chmod +x remove_comments.sh
根据需要运行脚本:
- 添加注释:
./add_comments.sh
- 移除注释:
./remove_comments.sh
这将分别在指定目录(target_directory
变量)中的所有 .sh 文件的行首添加或删除井号(#)注释符。
© 版权声明
本站文章由不念博客原创,未经允许严禁转载!
THE END