我正在尝试scp目录中的三个最新文件.现在我用它ls -t | head -3来找出他们的名字,然后在scp命令中写出来,但这变得很艰难.我尝试使用,ls -t | head -3 | scp *username*@*address*:*path*但这没用.最好的方法是什么?
也许是最简单的解决方案,但它不处理文件名中的空格
scp `ls -t | head -3` user@server:.
Run Code Online (Sandbox Code Playgroud)
使用xargs具有处理文件名中的空格的优点,但会执行scp三次
ls -t | head -3 | xargs -i scp {} user@server:.
Run Code Online (Sandbox Code Playgroud)
基于循环的解决方案看起来像这样.我们在这里读取时使用,因为read的默认分隔符是换行符,而不是像for循环那样的空格字符
ls -t | head -3 | while read file ; do scp $file user@server ; done
Run Code Online (Sandbox Code Playgroud)
令人遗憾的是,一个完美的解决方案,一个执行单个scp命令,同时与白色空间很好地工作,目前躲过我.
| 归档时间: |
|
| 查看次数: |
3155 次 |
| 最近记录: |