gpt4 book ai didi

linux - 将文件复制到最新的目录

转载 作者:太空宇宙 更新时间:2023-11-04 05:51:50 25 4
gpt4 key购买 nike

我想要制作一个 Bash 脚本,它可以查看最新创建的目录,如果找到最新目录,则需要将文件复制到该目录。

目前我有这个代码

    #!/bin/bash

cd /home/test/hello
echo "Searching, the latest made Directory!"
ls -tl | sed -n 2p
#It is not copying yet, because i can't figure out how to let it Copy the stuff to the newest Directory

这段代码显示了最新制作的目录,但我不知道如何制作它,以便它将项目复制到该目录

举个例子。

./script.sh
# Searching the newest Directory
# Found out that the newest Directory is Dir-1
# Copy the files to the Directory Dir-1
-------------------------------------------------------
./script.sh
# Searching the newest Directory
# Found out that the newest Directory is Dir-2
# Copy the files to the Directory\Dir-2
-------------------------------------------------------
./script.sh
# Searching the newest Directory
# Found out that the newest Directory is Dir-3
# Copy the files to the Directory Dir-3

最佳答案

您只需打印最新目录的名称,因此不需要 ls 的 -l 选项。这还会删除“总计”行,因此您所需的输出是第一行。

ls -t | sed -n 1p

然后使用 $() ( command substitution ) 语法将命令的输出捕获到变量中:

latest=$(ls -t | sed -n 1p)

然后您可以在 cp 命令中使用该变量:

cp file file file $latest

这一切都假设您没有比目标目录更新的普通文件,并且您的目录名称中没有空格或其他不寻常的字符。

使用 head 命令获取 ls 输出的第一行(而不是 sed)可能会稍微快一些。

ls -t | head -1

关于linux - 将文件复制到最新的目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31893668/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com