在Linux系统中,“记事本”通常指图形化文本编辑器(如gedit、VS Code、Notepadqq等),这类工具本身不具备直接的批量处理能力,但可通过编写批处理脚本(Shell脚本)并使用记事本编辑后运行,实现批量处理文件的需求。以下是具体步骤和常见场景的解决方案:
gedit &
或使用其他图形化编辑器(如VS Code:code &
)。需求:将当前目录下所有.txt
文件重命名为“原文件名_new.txt”。
脚本内容(记事本中输入):
#!/bin/bash
# 批量重命名.txt文件
for file in *.txt; do
mv "$file" "${file%.txt}_new.txt" # ${file%.txt}表示去掉.txt后缀
done
echo "批量重命名完成!"
操作步骤:
rename_files.sh
(注意选择“所有文件”类型,避免保存为.txt
)。chmod +x rename_files.sh
./rename_files.sh
说明:${file%.txt}
是Shell的变量替换语法,用于去掉文件名的.txt
后缀;mv
命令用于重命名文件。
需求:将当前目录下所有.txt
文件中的“old_text”替换为“new_text”。
脚本内容(记事本中输入):
#!/bin/bash
# 批量替换文本
for file in *.txt; do
sed -i 's/old_text/new_text/g' "$file" # -i选项直接修改原文件
done
echo "批量替换完成!"
操作步骤:
replace_text.sh
。chmod +x replace_text.sh
./replace_text.sh
说明:sed
是Linux下的流编辑器,s/old_text/new_text/g
表示全局替换(g
表示global);-i
选项用于直接修改原文件(建议先备份文件)。
需求:将当前目录下所有.txt
文件压缩为.gz
格式。
脚本内容(记事本中输入):
#!/bin/bash
# 批量压缩.txt文件
for file in *.txt; do
gzip "$file" # 压缩后生成file.txt.gz
done
echo "批量压缩完成!"
操作步骤:
compress_files.sh
。chmod +x compress_files.sh
./compress_files.sh
说明:gzip
命令用于压缩文件,压缩后会删除原文件(保留.gz
格式)。若需保留原文件,可使用gzip -k
选项。
需求:将/var/log
目录下所有.log
文件压缩并备份到/backup/logs
目录。
脚本内容(记事本中输入):
#!/bin/bash
# 日志文件批量压缩备份
log_dir="/var/log"
backup_dir="/backup/logs"
mkdir -p "$backup_dir" # 创建备份目录(-p表示不存在则创建)
# 查找.log文件,压缩并移动到备份目录
find "$log_dir" -name "*.log" -type f -exec gzip -c {} \; -exec mv {}.gz "$backup_dir" \;
echo "日志备份完成!"
操作步骤:
backup_logs.sh
。chmod +x backup_logs.sh
./backup_logs.sh
说明:find
命令用于查找符合条件的文件,-exec
选项用于对每个文件执行后续命令(gzip -c
压缩文件,mv
移动到备份目录)。
chmod +x script.sh
赋予脚本执行权限,否则无法运行。/home/user/documents
)避免错误。通过以上方法,可借助Linux下的图形化记事本编写批处理脚本,实现文件批量重命名、文本替换、压缩备份等常见操作,提升工作效率。