我有一个像
这样的文件record
decimal(10) roll_no /*DECIMAL(10) NOT NULL*/;
string(25) name /*STRING(25) NOT NULL*/;
decimal(3) marks = NULL /*DECIMAL(3) NULL*/;
end
我希望它为
record
decimal(10) roll_no;
string(25) name;
decimal(3) marks = NULL;
end
你们可以帮忙吗?
我尝试使用awk和sed但我最后会做一些手动更改以使其完美。
答案 0 :(得分:2)
如果确定这只是一行注释,您可以使用:
sed 's~/\*.*\*/~~'
答案 1 :(得分:0)
此awk
应该
awk '{sub(/ \/.*\//,x)}8' file
record
decimal(10) roll_no;
string(25) name;
decimal(3) marks = NULL;
end
它从/
替换为/
,没有任何内容。
另一个版本
awk -F" */" '{print $1";"}' file
record;
decimal(10) roll_no;
string(25) name;
decimal(3) marks = NULL;
end;
另一个
awk -F" */" '{$0=$1";"}8' file
答案 2 :(得分:0)
这是sed命令,如果没有单行注释,它可以处理:
sed ':a;$!{N;ba};s~/\*[^*/]*\*/~~g' file
':a;$!{N;ba}
将整个文件读入模式s~/\*[^*/]*\*/~~g
替换/ *和* /