如何修改:
seq 1 10 | xargs -I{} -P2 -- curl -O -s 'https://example.com/dir/{}.ts
对此?
cat links.txt | xargs -I{} -P10 -- curl -O -s 'https://example.com/dir/{}.ts'
我不需要1-10的序列,我需要将seq 1 10替换为cat links.txt,因为links.txt不包含它包含的数字
aada1
adk29
amn22
答案 0 :(得分:1)
如果links.txt中的项目各自都在其自己的行上,则解决方案与您编写的一样
cat links.txt | xargs -I{} -P10 -- curl -O -s 'https://example.com/dir/{}.ts'
如果项目位于由空格分隔的单行上,则将空格转换为新行
cat links.txt | tr ' ' '\n' | xargs -I{} -P10 -- curl -O -s 'https://example.com/dir/{}.ts'
单独使用xargs直接从文件中读取并设置分隔符
# populate test.txt with space separated items
echo -n 'ooo234 qqq345 mmm654' > test.txt
xargs --delimiter=' ' --arg-file=test.txt -I '{}' echo "'{}'"
每次使用一个空格分隔的项目
'ooo234'
'qqq345'
'mmm654'
如果项目是新行分隔的:
xargs --delimiter='\n' --arg-file=test.txt -I '{}' echo "'{}'"