将 URL 添加到特定文件中的行

Add URL to lines in specific file

我正在尝试将 URL 添加到使用 wget 下载的列表中的各个行。

下面 Bash 脚本的第一部分下载列表,URL 是静态的。 sed 命令试图将 URL 添加到列表中。

bash

#!/bin/bash
wget -q --user=xxxx --password=xxxxx --xxxx \
xxx://www.xxx.com/xxxx/xxx/xxxx/list

url=xxx://www.xxx.com/xxxx/xxx/xxxx/

sed s/$url/ list.txt | url_list.txt
sed: -e expression #1, char 14: unknown option to `s'

当前列表

FilterDuplicates.html
file1.bam
file2.bam
file1.vcf.gz
file2.vcf.gz

所需列表(文件名前有 $url

xxx://www.xxx.com/xxxx/xxx/xxxx/FilterDuplicates.html
xxx://www.xxx.com/xxxx/xxx/xxxx/file1.bam
xxx://www.xxx.com/xxxx/xxx/xxxx/file2.bam
xxx://www.xxx.com/xxxx/xxx/xxxx/file1.vcf.gz
xxx://www.xxx.com/xxxx/xxx/xxxx/file2.vcf.gz

编辑

#!/bin/bash
 wget -q --user=xxxx --password=xxxx --xxxx \
 https://www.xxxx.com/xxx/xx/xxxx/file

 $url="https://www.xxxx.com/xxx/xx/xxxx/";
 sed "s|^|$url|" /home/cmccabe/list > /home/cmccabe/url_list.txt
 https://www.xxxx.com/xxx/xx/xxxx/: no such file or directory

This is sed is close 但它将 url 附加到文件末尾,而不是像所需输出那样附加到每一行。谢谢:)

sed -i '$a https://www.xxxx.com/xxx/xx/xxxx/' /home/cmccabe/list

输出

FilterDuplicates.html
file1.bam
file2.bam
file1.vcf.gz
file2.vcf.gz
https://www.xxxx.com/xxx/xx/xxxx/

sed 命令添加文本

sed 's/^/https://www.xxxx.com/xxx/xx/xxxx//' /home/cmccabe/list

选择一个不属于 url 字符串的分隔符字符(此处为竖线)。

sed 's|^|http://example.com/|' file

或者如果您将 url 作为变量,最简单的方法是使用双引号。

$ url="http://example.com/"; sed "s|^|$url|" file