Вместо этого используйте malloc
. Синтаксис:
newnode=(struct node *)malloc(sizeof(struct node))
Это может сработать для вас (GNU sed):
sed 's/.*000/#&/' file
Вопрос заключался в том, как добавить знак фунта к этим строкам в файле, чтобы сделать превосходный ответ Тима Куппера более полным, я бы предложил следующее:
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»
Попробуйте эту команду 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
.