很抱歉这个问题的标题,但我是。它肯定如何最好地总结这一点。基本上,我在服务器上托管着非常大的文本文件。我没有能力下载整个文件。我有一个Shell脚本,希望在文本文件的各个行上运行。有没有一种方法(ftp)下载文件的块并在该块上执行shell脚本,然后下载下一个块(最好覆盖前一个块)以执行shell脚本等。
通过将输出更改为而不是本地文件名,然后使用或或获取数据,您应该能够curl
在FTP
模式下执行此操作。stdout
dd
head
tail
以下内容通过FTP连接到我的本地主机并获取文件<HOME>/tmp/ppm.c
,然后用于dd
将块大小设置为1k
并跳过第一个块,将输出写入文件2nd1kB.txt
。
curl --output - --user user:password 'ftp://127.0.0.1/tmp/ppm.c' | dd bs=1024 skip=1 count=1 > 2nd1kB.txt
如果需要多个块,则需要一个循环。在这里,我只是从0循环到3:
#!/bin/bash
for block in {0..3}; do
echo Grabbing block $block
curl --silent --output - --user user:password 'ftp://127.0.0.1/tmp/ppm.c' | dd bs=100 count=1 skip=$block > Block${block}.txt
done
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句