正在从 Linux 的 ftp 中的文件夹中加载 2 个最新文件

Loading the 2 most recent files from a folder in an ftp from Linux

大家下午好, 我们有以下内容:

目前的代码是这样的:

`#!/bin/bash

X=ip.address
USER=myuser
SRC_DIR=/home/user/GETFILES/temp/
DEST_DIR=/home/user/GETFILES/input
date1=`date +%Y%m%d%H%M`

echo "======================================="
echo "======================================="
echo "======================================="
echo "Here we go $date1 !"
echo "======================================="
echo "======================================="
echo "======================================="

rsync -av --ignore-existing --include="patternforfiles\*.*" --exclude="*" -e "ssh -p port -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no" $USER@$X:$SRC_DIR\* $DEST_DIR

\#Removing the ":"
cd temp/
for i in *:*; do
mv -- "$i" "${i//:/\-}"
done

**for i in `ls -Art SRC_DIR | grep filename | tail -n 2`;do** 

**mv $SRC_DIR$i $DEST_DIR;** 

**done**

sshpass -p "password" sftp -oPort=port user@ftp.address \<\< !
lcd /source/directory/
put filename\*.\*
bye
!`

bla bla 清扫任务

如果我 运行 作为一个单独的命令,ls -Art 部分工作正常,它会从 rsync 路径给我带来最后 2 个文件。如果我 运行 在脚本下,它会带来另外 2 个文件,然后是使用上一个命令获得的文件……不知道为什么。 我在 ls 中错过了什么?

谢谢。

建议在 ls -Art 命令中每行有一个以上的文件。

dudi@IL105567WIN:~$ ls -Art
.profile      .landscape  .sudo_as_admin_successful  dev               .motd_shown  .lesshsQ
.bashrc       .vimrc      .local                     .selected_editor  .hushlogin   .viminfo
.bash_logout  .vim        .cache                     .config           .lesshst     .bash_history

使用带有选项 -1-lls 命令通过在单独的行中打印每个文件来解决此问题。

dudi@IL105567WIN:~$ ls -1Art
.profile
.bashrc
.bash_logout
.landscape
.vimrc
.vim
.sudo_as_admin_successful
.local
.cache
dev
.selected_editor
.config
.motd_shown
.hushlogin
.lesshst
.lesshsQ
.viminfo
.bash_history