2013-03-13 5 views
1

Мне нужно манипулировать URL-адресом из значений из файла. Это то, что я мог бы сделатьShell Scripting - URL-манипуляция

var=$(grep -A2 -i "some_text" /path/to/file | grep -v "some_text" | cut -d'"' -f 4-5 | cut -d'"' -f 1 | tr -d '\n') 

Это даст результат:/текст/к/будет/прилагаемую/к/домен

Теперь мне нужно добавить имя домена var значения.

Так что я сделал,

var1="http://mydomain" 

, а затем

echo ${var1}${var} 

Так что я ожидал

http://mydomain/text/to/be/appended/to/domain 

быть выход. Но я получаю только /text/to/be/appended/to/domain.

Я предположил, что это будет связано с / как первый символ, но если я использую cut удалить первый /, я получаю значение var1 как выход.

Где я ошибся?

Update (не уверен, что это помогло бы даже немного, по-прежнему):

Если я echo ${var}${var1}, я получаю /text/to/be/appended/to/domainhttp://mydomain

запись Пример:

<tr><td><a id="value">some_text</a></td></tr> 
<tr><td><a id="value" href="/text/to/be/appended/to/domain">2013</a></td></tr> 
+0

этот скрипт: #!/Bin/Баш вар =/текст/к/быть/прилагается/к/домен var2 = "HTTP: // MYDOMAIN" эхо $ {var2} $ {вар } работает в моей среде. – hovanessyan

+0

Правильно. Это просто, например, хорошо работает и в моей среде. Я неправильно делаю построение ценности? Но я получаю предполагаемое значение в var. – aradhak

+0

попробуйте echo только var, чтобы увидеть значение? – hovanessyan

ответ

2

эта линия заканчивается (^ M) указывает, что в какой-то момент файл был отредактирован (создан) в среде dos. Используйте «dos2unix yourfile», чтобы устранить проблему. И ваш сценарий, и образцы.