2016-02-08 30 views
1

我正在嘗試使用wget下載的列表中的單行添加URL。將URL添加到特定文件中的行

下面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

pluse-uno用於示例數據,輸出和代碼! – shellter

回答

3

選擇一個分隔符字符(這裏管)不是你的URL字符串的一部分。

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

或者如果您將url作爲變量,則最簡單的方法是使用雙引號。

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

我添加了一個編輯錯誤,但我可以手動訪問該目錄。謝謝 :)。 – Chris

+0

不明白!你有一個名爲「http:// ...」的目錄?錯誤來自哪裏? 'sed'不能訪問url,只有指定的輸入/輸出文件看起來不同。 – karakfa

+0

我想我只需要使用'sed'將文本添加到每行的開頭,但是將'sed:-e表達式#1,字符13:未知選項設置爲's''。我將在編輯中發佈我的命令。謝謝 :)。 – Chris

相關問題