Поскольку вы сказали:более конкретно, есть файл с большим количеством слов в нем, и Я хотел бы добавить что-то перед словом и после слова.
Единственное, что вам нужно, это $&
, что соответствует самому себе. Таким образом, вы просто можете написать что-нибудь, что хотите, только до и конец этой whildcard. это оно.
Например, у вас есть этот файл:
this is line 1.
this is line 2.
this is line 3.
И я тестировал с Perl:
perl -lne 'print "beginning->", $&, "<-end" if /.+/g' file
которого выход есть:
beginning->this is line 1.<-end
beginning->this is line 2.<-end
beginning->this is line 3.<-end
мая вы бы например, чтобы соответствовать только одному слову, так что все еще это хорошо, поэтому lution такие как:
perl -lne 'use English; print "$PREMATCH", "[$MATCH]","$POSTMATCH" if /line/g' file
Здесь я соответствовал line
и поставить вокруг этого: [
затем $&
затем ]
выход
this is [line] 1.
this is [line] 2.
this is [line] 3.
ПРИМЕЧАНИЕ
Как вы можете видеть единственные вещи лет u нужно только prematch и матч и postmatch. Я тестировал его с Perl для вас, и если вы заинтересованы в Perl вы можете использовать его, или, возможно, вы хотите использовать Sed или Awk. Поскольку у вас нет конкретных примеров Я пробовал с Perl.
Не могли бы вы показать нам пример того, что вы пробовали с правильными i/p и o/p и версиями 'Awk',' sed' у вас есть? вывод 'awk --version' и' sed --version' – Inian