Как добавить # перед любой строкой, содержащей соответствующий шаблон в BASH?

Вместо этого используйте malloc. Синтаксис:

newnode=(struct node *)malloc(sizeof(struct node))
23
задан Village 15 June 2014 в 13:35
поделиться

3 ответа

Это может сработать для вас (GNU sed):

sed 's/.*000/#&/' file
20
ответ дан potong 15 June 2014 в 13:35
поделиться

Вопрос заключался в том, как добавить знак фунта к этим строкам в файле, чтобы сделать превосходный ответ Тима Куппера более полным, я бы предложил следующее:

sed /000/s/^/#/ > output.txt

или вы могли бы рассмотреть возможность использования возможности sed в -place отредактируйте рассматриваемый файл, а также сделайте резервную копию, например:

sed -i.bak /000/s/^/#/ file.txt

опция «-i» отредактирует и сохранит файл inline / in-place, опция «-i.bak» также сделайте резервную копию исходного файла в file.txt.bak на случай, если вы что-то напортачили.

Вы можете заменить «.bak» любым суффиксом по своему вкусу. Например: «-i.orignal» создаст исходный файл как: «file.txt.orignal»

3
ответ дан geegee 15 June 2014 в 13:35
поделиться

Попробуйте эту команду GNU sed,

$ sed -r '/000/ s/^(.*)$/#\1/g' file
#This is a 000 line.
#This is 000 yet ano000ther line.
This is still yet another line.

Объяснение:

  • /000/ Подстановка sed работает только на линии, которая включает 000 , Как только он находит соответствующую строку, он добавляет # символ перед ней.

И через awk, функция

$ awk '/000/{gsub (/^/,"#")}1' file
#This is a 000 line.
#This is 000 yet ano000ther line.
This is still yet another line
  • gsub используется для добавления # перед строками, которые содержат 000.
0
ответ дан Avinash Raj 15 June 2014 в 13:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: