我正在尝试将网址添加到使用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
这是sed
已关闭,但它会将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
答案 0 :(得分:3)
选择一个分隔符char(此处为pipe),而不是url字符串的一部分。
sed 's|^|http://example.com/|' file
或者如果您将url作为变量,则最简单的方法是使用双引号。
$ url="http://example.com/"; sed "s|^|$url|" file