linux - SFTP并将文件的数据附加到现有文件
问题描述
我是 unix 新手。我的客户需要将一些数据文件 sftp 到旧系统服务器。在旧版服务器中,已经存在相同名称的文件。我们想要的是,当我们 sftp 文件到服务器时,它会将文件的数据附加到现有文件中。假设在旧版服务器上有一个包含 10 行的文件 A.dat。现在我正在做 5 行的 sftp 文件 A.dat。所以在 sftp 之后,在旧服务器上的文件 A.dat 应该有 15 行。此外,如果旧系统上不存在该文件,则脚本应放置该文件。任何快速响应都将受到高度赞赏。我当前的 sftp 脚本如下所示。
#!/usr/bin/expect -d
set timeout -1
spawn sftp user@server
expect "sftp>"
send "cd /destinationpath\n"
expect "sftp>"
send "lcd /sourcepath\n"
expect "sftp>"
send "put A.dat\n"
expect "sftp>"
send "exit\n"
interact
解决方案
尝试添加-a
或put
使用
reput
. 请参阅您的 sftp 版本的手册。它可能不受支持或不同。
如果它只是一个文件,我会直接使用 ssh 并附加到文件中:
ssh user@server "cat >> /destinationpath/A.dat" < /sourcepath/A.dat
确保必须使用>>
as>
会覆盖您的文件。
推荐阅读
- javascript - 为什么我的函数没有输出到我的表?
- python - python中可回溯的类继承
- prestashop - 如何知道我的承运人是否在店内取货
- reactjs - 在 React/Bootstrap 4 中,禁用按钮以防止重复提交表单的正确方法是什么?
- javascript - 为什么“数字”使“否则如果”在这里工作?
- java - 有没有办法减慢 selenium 中的 firefox 执行速度?
- page-setup - 如何在.NET应用程序中制作Notepad.exe的“PageSetting”对话框?
- c# - 无法解析以供参考 Microsoft.Azure.WebJobs.Extensions - 元数据生成失败
- php - Woocommerce 中国产品属性分类的特殊编码
- java - Spring JPA 中的@Entity 是什么?