2015-09-02 2 views
-4

У меня есть следующие строкиКак создать строку HTML ref?

1234, Алекс, Сан - Рамон, Калифорния, США

Я хочу, чтобы первый столбец "1234", чтобы быть HTML HREF.

Ожидаемый выход

<a href="url">1234</a>,alex, san ramón, ca, usa 
+2

Вы пробовали конкатенацию, строка форматирования ... ничего, на самом деле? – TigerhawkT3

+0

Я попробовал Sed/Awk, но не смог сохранить строку в переменной, а затем добавить в конец. –

+1

показать код и вывод – pcantalupo

ответ

0

Если вы изучаете, лучше разместить свой сценарий так, чтобы люди могли указать, и исправить свои ошибки.

Вот решение с AWK

awk -F, -vOFS=, '{print "<a href=\"url\">"$1"</a>"$2,$3,$4}' 

поля могут быть доступны на $ 1, $ 2, и т.д. Разделитель и выходной разделитель полей установлен запятой

0

Использование форматирования и spliting:

def link (url, strtitle): 
    strtitle = strtitle.split(",") 
    title = strtitle[0].strip() 
    rest = ",".join(strtitle[1:]).strip() 
    return '<a href="%s">%s</a>,%s' % (url, title, rest) 

Вы не совсем поняли, что хотите. Awk в Python, Python в оболочке, awk в оболочке, awk в Python. Только Python, только awk ...

Если вы хотите, чтобы люди ответили вам, вы должны быть более ясными.

Если вы хотите, чтобы получить результат этого из командной строки, сохраните свой код с исполнения линии сверху, дать ему права на исполнение, а также добавить:

if __name__=="__main__": 
    import sys 
    sys.stdout.write(link(sys.argv[1], sys.argv[2])) 

в коде (прежде чем сохранить его. : D). Тогда из оболочки:

$ echo $('./as_you_saved_me <url> "1234, alex, san ramón, ca, usa"') 
0
sed 's#[^,]*#<a href="url">&</a>#' 

с небольшим количеством безопасности, если число нет

sed 's#^\([0-9]\{1,\}\),#<a href="url">\1</a>,#' 
Смежные вопросы