LInux脚本- 将一个路径下的前500个文件复制到另一个路径下

需求:从 /home/majn/llvm_project/extract_main 路径下复制前500个 .c 文件到 /home/majn/llvm_project/extract_main_500 目录。

以下是一个用于实现该功能的 Bash 脚本。

#!/bin/bash

# 源目录和目标目录
SOURCE_DIR="/home/majn/llvm_project/extract_main"
TARGET_DIR="/home/majn/llvm_project/extract_main_500"

# 创建目标目录,如果它还不存在
mkdir -p "$TARGET_DIR"

# 初始化文件计数器
counter=0

# 切换到源目录
cd "$SOURCE_DIR" || exit 1

# 遍历源目录下的 .c 文件
for c_file in *.c; do
    # 如果已经复制了 500 个文件,就退出循环
    if [ "$counter" -ge 500 ]; then
        break
    fi

    # 复制文件到目标目录
    cp "$c_file" "$TARGET_DIR/"

    # 更新计数器
    counter=$((counter + 1))
done

# 输出完成的信息
echo "Copied $counter .c files from $SOURCE_DIR to $TARGET_DIR."

保存这个脚本到一个文件,比如叫做 copy_files.sh

接着,给这个脚本文件添加执行权限:

chmod +x copy_files.sh

最后,运行这个脚本:

./copy_files.sh

该脚本将:

  1. 定义源目录和目标目录。
  2. 使用 mkdir -p 创建目标目录(如果还不存在)。
  3. 切换到源目录。
  4. 使用 for 循环遍历源目录中的 .c 文件。
  5. 使用 cp 命令将每个 .c 文件复制到目标目录。
  6. 更新一个计数器来跟踪已复制的文件数量。
  7. 如果已经复制了500个文件,就退出循环。

注意:请确保脚本有足够的权限来访问和操作这些目录和文件。

你可能感兴趣的:(Linux,linux,前端)