Увеличивайте числа в строке с помощью awk и sed

#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 с этого момента!