我正在使用 wget 下载文件,并准备了一个链接列表,现在我必须在列表中的每个链接上使用一些选项,例如我必须删除小于 30 KB 的文件,必须根据上一个链接重命名每个文件等。但我不想使用 bash 脚本,有没有办法做到这一点?
下载列表:
http://example.com/blah?blah --delete-after
http://example.com/download -O mynewfilename
...
答案1
如果文件中的命令每行都有一组参数,则可以使用xargs
它们来运行该命令。从man xargs
:
--arg-file=file
-a file
Read items from file instead of standard input. If you use this
option, stdin remains unchanged when commands are run.
Otherwise, stdin is redirected from /dev/null.
-L max-lines
Use at most max-lines nonblank input lines per command line.
Trailing blanks cause an input line to be logically continued on
the next input line. Implies -x.
示例文件(foo
):
a b c
d e
f g h
所以:
$ xargs -a foo echo
a b c d e f g h
$ xargs -L1 -a foo echo
a b c
d e
f g h
因此,你也许可以这样做:
xargs -L1 -a input.txt wget