如何对下载文件的某些部分执行操作

时间:2015-01-14 09:40:49

标签: bash shell ftp

对问题的标题道歉,但我是。它确定如何最好地总结这一点。基本上我在服务器上托管了非常大的文本文件。我没有能力下载整个文件。我有一个shell脚本,我想在文本文件的各行上运行。有没有办法(ftp)下载文件块并在此块上执行shell脚本,然后下载下一个块(最好覆盖前一个块)以执行shell脚本等。

1 个答案:

答案 0 :(得分:0)

您应该可以在curl模式下使用FTP将此输出更改为stdout而不是本地文件名,然后使用dd或{{1或} head来获取数据。

以下通过FTP连接到我的localhost并获取文件tail,然后使用<HOME>/tmp/ppm.c将blocksize设置为dd并跳过第一个块,将输出写入文件1k

2nd1kB.txt

如果你想要多个块,你需要一个循环。这里我只是从0循环到3:

curl --output - --user user:password 'ftp://127.0.0.1/tmp/ppm.c' | dd bs=1024 skip=1 count=1 > 2nd1kB.txt