gpt4 book ai didi

Linux:反向排序目录中的文件并获取第二个文件

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:49:26 26 4
gpt4 key购买 nike

我正在尝试获取第二个文件,当文件内容反向排序(降序顺序)并使用 scp

将其复制到我的本地目录时

这是我得到的:

scp -r uname@host:./backups/dir1/$(ls -r | head -2| tail -1) /tmp/data_sync/dir1/

当我运行这个脚本时,我似乎仍然复制了所有文件。我错过了什么? TIA。

最佳答案

$(...) 正在本地解释。如果您希望命令在远程运行,您需要使用 ssh 并让远程端使用 scp 将文件复制到本地系统。

由于解析 ls 的输出有很多问题,我将使用 find 来完成与 ls 相同的事情,告诉它在每个文件名之间使用 NUL 而不是换行符。 sort 对该文件名列表进行排序,sed -n 2p 打印已排序的文件名列表的第二个元素。 xargs 运行 scp 命令,插入文件名作为第一个参数。

ssh uname@host "find ./backups/dir1/ -mindepth 1 -maxdepth 1 -name '[^.]*' -print0 | \
sort -r -z | sed -z -n 2p | \
xargs -0 -I {} scp {} yourlocalhost:/tmp/data_sync/dir1/"

关于Linux:反向排序目录中的文件并获取第二个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36290639/

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