Sed wget-使用参数

Sed wget-使用参数,sed,arguments,wget,Sed,Arguments,Wget,我有一个URI的列表:URI.txt和 category1/image1.jpeg category1/image32.jpeg category2/image1.jpeg 等等,并且需要使用wget从domain example.com下载它们,并将文件名(保存时为final)更改为categoryX-imageY.jpeg 我理解,我应该逐行阅读uri.txt,在每行前面添加“”并将每行中的“/”改为“-” 我现在所拥有的: 从uri.txt[工作]读取 在每个URI前面添加域名[工作]

我有一个URI的列表:URI.txt和

category1/image1.jpeg
category1/image32.jpeg
category2/image1.jpeg
等等,并且需要使用wget从domain example.com下载它们,并将文件名(保存时为final)更改为categoryX-imageY.jpeg

我理解,我应该逐行阅读uri.txt,在每行前面添加“”并将每行中的“/”改为“-”

我现在所拥有的:

  • 从uri.txt[工作]读取
  • 在每个URI前面添加域名[工作]
  • 更改文件名以保存[失败]
  • 我正试图通过以下方式做到这一点:

    wget 'http://www.example.com/{}' -O '`sed "s/\//-/" {}`' < uri.txt
    


    你能告诉我,我做错了什么吗?

    当我想构建要执行的参数列表时,我喜欢使用xargs:

     cat uri.txt | sed "s#\(.*\)/\(.*\)#http://example.com/\1/\2 -O \1-\2#" | xargs -I {} wget {}
    

    当我想要构造要执行的参数列表时,我喜欢使用xargs:

     cat uri.txt | sed "s#\(.*\)/\(.*\)#http://example.com/\1/\2 -O \1-\2#" | xargs -I {} wget {}
    

    以下是我将如何做到这一点:

    while read LINE ; do
      wget "http://example.com/$LINE" -O $(echo $LINE|sed 's=/=-=')
    done < uri.txt
    
    读行时
    ;做
    wget“http://example.com/$LINE“-O$(echo$LINE | sed's=/=-=”)
    完成

    换句话说,在执行
    wget
    并使用修改后的名称保存之前(我使用另一个
    sed
    定界符,以避免转义
    /
    并使其更具可读性),请逐行阅读
    uri.txt(文本放置在
    $line
    bash变量中)

    我将如何做到这一点:

    while read LINE ; do
      wget "http://example.com/$LINE" -O $(echo $LINE|sed 's=/=-=')
    done < uri.txt
    
    读行时
    ;做
    wget“http://example.com/$LINE“-O$(echo$LINE | sed's=/=-=”)
    完成

    换句话说,在执行
    wget
    并使用修改后的名称保存之前(我使用另一个
    sed
    定界符,以避免转义
    /
    并使其更易读),请逐行阅读
    uri.txt(文本放置在
    $line
    bash变量中)

    您能为您的答案提供一些上下文吗,通过这种方式,未来的读者可以学习如何将其应用于他们的问题,而不仅仅是在这种情况下。你能为你的答案提供一些上下文吗?这样,未来的读者可以学习如何将其应用于他们的问题,而不仅仅是在这种情况下。