Sponsored Content
Top Forums Shell Programming and Scripting Removing Multiple Line comments Post 302498538 by Chubler_XL on Monday 21st of February 2011 06:29:07 PM
Old 02-21-2011
You didn't say what you wanted to do with nested comments, what should the output of the following be?

Code:
/* This is the outer comment 
    /* And the inner comment */  
  Some more of the outer */Done!

This awk script allows nested comments (output is "Done!"), but no support for escaped comments (eg quoted text or backslash support):

It calls function p with each char and a lookahead char (n)
Code:
awk 'function p(c,n) {
  if(j) return j=0;
  if(c=="/" && n=="*") {m++; return j=1}
  if(m && c=="*" && n=="/") {m--; return j=1}
  if(!m) printf c; }
{ for(i=1;i<=length($0);i++) p(substr($0,i,1), substr($0,i+1,1)); if(!m) printf "\n"}' infile


Last edited by Chubler_XL; 02-22-2011 at 01:12 AM..
This User Gave Thanks to Chubler_XL For This Post:
 

10 More Discussions You Might Find Interesting

1. Solaris

Removing user from multiple groups via command line

Want to know if any, a command line parameter(s) of removing a user from multiple groups without using any ineractive application? (1 Reply)
Discussion started by: jquizon62
1 Replies

2. Shell Programming and Scripting

removing comments from file

I'm doing manual way to add and remove "#" on etc/services. Is there anyway I can modify the file using awk or sed or any other program. I use vi to modify /etc/services for enabling telnet , the problem is I don't know how to do it automatically in script. production state: #telnet ... (9 Replies)
Discussion started by: skully
9 Replies

3. Shell Programming and Scripting

Removing end of line to merge multiple lines

I'm sure this will be an easy question for you experts out there, but I have been searching the forum and working on this for a couple hours now and can't get it right. I have a very messy data file that I am trying to tidy up - one of the issues is some records are split into multiple lines: ... (4 Replies)
Discussion started by: tink
4 Replies

4. Shell Programming and Scripting

Sed script, changing all C-comments to C++-comments

I must write a script to change all C++ like comments: // this is a comment to this one /* this is a comment */ How to do it by sed? With file: #include <cstdio> using namespace std; //one // two int main() { printf("Example"); // three }//four the result should be: (2 Replies)
Discussion started by: black_hawk
2 Replies

5. Shell Programming and Scripting

How to filter only comments while reading a file including line break characters.

How do I filter only comments and still keep Line breaks at the end of the line!? This is one of the common tasks we all do,, How can we do this in a right way..!? I try to ignore empty lines and commented lines using following approach. test.sh # \040 --> SPACE character octal... (17 Replies)
Discussion started by: kchinnam
17 Replies

6. Shell Programming and Scripting

Removing carriage return/line feeds on multiple lines

I would like to remove carriage returns/line feeds in a text file, but in a specific cadence: Read first line (Header Line 1), remove cr/lf at the end (replace it with a space ideally); Read the next line (Line of Text 2), leave the cr/lf intact; Read the next line, remove the cr/lf; Read... (14 Replies)
Discussion started by: tomr2012
14 Replies

7. Shell Programming and Scripting

Removing SAS multi line comments in UNIX

i have to remove the commented (/* . . . .*/) part which starts in one line and ends in other.help me with generic code because i have 1000 to 10k lines code which i have to remove. data one; set work.temp; input name age; infile filename; /* dfsdf dsfs sdfdf dsdd sdfsf sdfsf sfs... (4 Replies)
Discussion started by: saaisiva
4 Replies

8. UNIX for Dummies Questions & Answers

Remove multi line and single line comments

Hi, I am trying to remove multi line and single line comments like examples below I have tried this pattern. it works fine for single line comments and multi line comments in a single line only. but this fails when the comments are extended in multiple lines as shown in the comment 2 of... (3 Replies)
Discussion started by: ahmedwaseem2000
3 Replies

9. Shell Programming and Scripting

How to ignore comments at the end of the each line?

Hi All, I am reading the host file by ignoring the comments and write it to the other file. I am reading with regular expression for IP address. grep -E '^{1,3}\.{1,3}\.{1,3}\.{1,3}' $inputFile | awk '{for(i=2;i<=NF;i++)print $1,$i}' > $DR_HOME/OS/temp After that am reading each host... (4 Replies)
Discussion started by: sharsour
4 Replies

10. Shell Programming and Scripting

Removing carriage returns from multiple lines in multiple files of different number of columns

Hello Gurus, I have a multiple pipe separated files which have records going over multiple Lines. End of line separator is \n and records going over multiple lines have <CR> as separator. below is example from one file. 1|ABC DEF|100|10 2|PQ RS T|200|20 3| UVWXYZ|300|30 4| GHIJKL|400|40... (7 Replies)
Discussion started by: dJHa
7 Replies
oggz-comment(1) 					      General Commands Manual						   oggz-comment(1)

NAME
oggz-comment -- List or edit comments in an Ogg file. SYNOPSIS
oggz-comment [-l | --list ] oggz-comment [-o filename | --output filename ] [-d | --delete ] [-a | --all ] [-s serialno | --serialno serialno ] [-c content- type | --content-type content-type ] filename oggz-comment [-h | --help ] [-v | --version ] Description oggz-comment lists or edits the comments of an Ogg file. Options oggz-comment accepts the following options: Listing options -l, --list List the comments in the given file. Editing options -o filename, --output filename Write output to the specified filename. -d, --delete Delete comments before editing. -a, --all Edit comments for all logical bitstreams. -c content-type, --content-type content-type Edit comments of the logical bitstreams with specified content-type. Run oggz-known-codecs(1) for a full list of codecs known by the installed version of oggz. -s serialno, --serialno serialno Edit comments of the logical bitstream with specified serialno. Miscellaneous options -h, --help Display usage information and exit. -v, --version Output version information and exit. EXAMPLES
List all comments in file.ogg: oggz comment -l file.ogg List only the comments in the Theora bitstream in file.ogv: oggz comment -l -c theora file.ogv Add the comment "GENRE=Rock" to the Vorbis bitstream of file.ogv, writing output to output.ogv: oggz comment -c vorbis -o output.ogv file.ogg GENRE=Rock AUTHOR
Kangyuan Niu August 5, 2007; COPYRIGHT
Copyright (C) 2007 Annodex Association SEE ALSO
vorbiscomment(1), ogginfo(1), oggz-info(1), hogg(1) oggz-comment(1)
All times are GMT -4. The time now is 07:25 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy