在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下的圖形化記事本編寫批處理腳本,實現文件批量重命名、文本替換、壓縮備份等常見操作,提升工作效率。