#linux #perl #awk #sed #hyperlink
#linux #perl #awk #sed #гиперссылка
Вопрос:
У меня есть текстовый файл, содержащий около 500 строк информации.
Я добавляю несколько строк в начало каждой строки, разделенных запятой (Excel распознает это как другой столбец).
У меня пока есть этот код:
sed -e "2,$s@^@ =HYPERLINK(B2,C2), https://otrs.city.pittsburgh.pa.us/index.pl?Action=AgentTicketZoom;TicketID=@"** C:UsershdDesktopnewaction.txt > C:UsershdDesktoptest.txt
Мне нужны столбцы. Как только столбец добавляется по ссылке на предыдущий столбец (достаточно просто)
Которая будет формулой (строкой) в первом столбце, =HYPERLINK(B2,C2)
и я хочу увеличить 2 до 3, 4 и так далее.
Пример:
=HYPERLINK(B2,C2)
=HYPERLINK(B3,C3)
=HYPERLINK(B4,C4)
=HYPERLINK(B5,C5)
=HYPERLINK(B6,C6)
Это мой второй день кодирования с помощью sed и awk.
Есть ли какой-нибудь способ, которым я могу это сделать, используя awk и sed?
Ответ №1:
Этот однострочный Perl:
perl -pe "BEGIN{$i = 2} s@^@=HYPERLINK(B${i},C${i})@; $i " "input.txt"
будет добавляться =HYPERLINK(B2,C2)
к началу каждой строки и увеличивать числа каждый раз.
Комментарии:
1. О, я понимаю! Может быть, глупый вопрос, но есть ли какой-либо способ, которым это можно сделать, просто sed?
2. Я делал много заметок, так что спасибо за помощь!
3. Np! Это можно сделать в awk, не уверен насчет sed. Мне больше всего нравится perl, и он обладает большой мощностью для однострочников. Все, что вы можете сделать в sed или awk, вы можете сделать с perl.
4. Это полезно знать. Я мог бы просто начать кодировать на Perl с этого момента!