在Ubuntu系統中,有多種方法可以實現文件的批量操作。以下是一些常用的批量操作技巧:
cp
命令可以將多個文件復制到一個文件夾。例如,將當前目錄下的 file1.txt
、file2.txt
和 file3.txt
復制到 /home/user/destination
文件夾中,可以使用以下命令:cp file1.txt file2.txt file3.txt /home/user/destination
rm
命令加上通配符 *
可以刪除所有文件。例如,要刪除所有以 .txt
結尾的文件,可以使用以下命令:rm *.txt
find
命令結合 sed
和 mv
命令來批量重命名文件。例如,將文件名中包含 “ - 副本.h” 的部分替換為 “_ori.h”:find . -type f -name “* - 副本.h” -exec bash -c ‘mv “{}” “{}” “$(echo “{}” | sed “s/ - 副本.h/_ori.h/”)”’ \;
lftp
進行SFTP批量操作:#!/bin/bash
# SFTP服務器信息
HOST="your_sftp_server.com"
USER="your_username"
PASSWORD="your_password"
PORT="22"
# 本地文件和目錄
LOCAL_DIR="/path/to/local/directory"
REMOTE_DIR="/path/to/remote/directory"
# 進入SFTP會話
lftp -e "open sftp:// $USER : $PASSWORD @ $HOST : $PORT ; cd $REMOTE_DIR ; mirror --reverse --delete --verbose $LOCAL_DIR ; bye;"
os
和 shutil
模塊來批量重命名文件:import os
import shutil
def batch_rename_files(directory, old_pattern, new_pattern):
for filename in os.listdir(directory):
if filename.endswith(old_pattern):
new_filename = filename.replace(old_pattern, new_pattern)
os.rename(os.path.join(directory, filename), os.path.join(directory, new_filename))
batch_rename_files('/path/to/directory', '-副本.h', '_ori.h')
通過這些方法,你可以在Ubuntu系統中高效地進行文件的批量操作。