Linux lhjmq-records 5.15.0-118-generic #128-Ubuntu SMP Fri Jul 5 09:28:59 UTC 2024 x86_64
Your IP : 3.146.176.191
#!/usr/bin/mawk -f
# remove C comments from a list of files
# using a comment as the record separator
#
# this is trickier than I first thought
# The first version in .97-.9993 was wrong
BEGIN {
# RS is set to a comment (this is mildly tricky, I blew it here
RS = "/\*([^*]|\*+[^*/])*\*+/"
ORS = " "
getline hold
filename = FILENAME
}
# if changing files
filename != FILENAME {
filename = FILENAME
printf "%s" , hold
hold = $0
next
}
{ # hold one record because we don't want ORS on the last
# record in each file
print hold
hold = $0
}
END { printf "%s", hold }
|