...
I am using the following code to retrieve the contents between C-style comments "/* .. */".
Code:
perl -lne 'while(/(\/\*.*?\*\/)/g) {print "$1";}'
This works fine when the commented section of code is present in a single line. But I also need to extract the data which is present inside comments part that span across multiple lines.
Please help me in tweaking the above code to solve my problem.
Your one-liner works only for single-line comments because you are reading your file in line mode. You will have to enable "slurp mode" so as to "slurp" multiple lines that match your regex of interest. Like so -
Code:
$
$
$ cat -n f27
1 this is line 1
2 /* a single line comment here */
3 this is line 3
4 /* a multi-line comment
5 over here */
6 this is line 6
7 /* and this comment
8 spans this line
9 and this one
10 and this one as well
11 */
12 this is line 12
$
$
$
$ perl -lne 'BEGIN {undef $/} while (/(\/\*.*?\*\/)/sg) {print $1}' f27
/* a single line comment here */
/* a multi-line comment
over here */
/* and this comment
spans this line
and this one
and this one as well
*/
$
$
tyler_durden
This User Gave Thanks to durden_tyler For This Post:
Hi,
Is there a way I can extract my data faster. You know my data is 1.2 GB text file with 8Million rows with 38 columns/fields. Imagine how huge this is.
How I can optimized the data extraction using perl. That is why I'm creating a script to filter only those informations that I need. Is... (3 Replies)
Hi,
I want to extract some part of a pattern that matches my requirement in a string with PERL. A case in point is a string like:
$eqtst="abh nmae res = 10 s abh nmae req = 10 s";
from which I want the words preceding the "=" symbol.
Previously I was assured that there would be only 2 such... (4 Replies)
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)
I have a string stored in a variable. For instance,
$str = " Opcode called is : CM_OP_xxx "
where xxx changes dynamically and can be either LOGIN or SEARCH..... depends on runtime.
For example :
$str = " Opcode called is : CM_OP_SEARCH "
$str = " Opcode called is : CM_OP_LOGIN "
I... (3 Replies)
the log contains mathematical operation as follows
fm_void_mathematics : PCM_OP_MATHS input function
PIN_FLD_NUM1 INT 1
PIN_FLD_NUM2 INT 2
PIN_FLD_RESULTS int
PIN_FLD_OUT INT *
D Wed Sep 16 05:40:22 2009 solaris_testing
fm_void_add :
PIN_FLD_SUM int 3
D Wed Sep 16 05:40:22 2009... (1 Reply)
HI,
i have variable in perl like below
$tmp="/home/sai/automation/work/TFP_GN.txt"
it can conatain any path its filled from config file.
now i want extarct the path upto this /home/sai/automation/work/ and put it in another variable
say... (4 Replies)
Hello,
I want to extract the words from a file which starts with SRD-R or SRD-DR.
I have written a script which is able to trace the word but it is printing the whole line.
sub extract_SRD_tag{
my ($tag, $app, $path, @data, $word );
$path = shift;
$app = shift;
open (FILE, $path) or... (2 Replies)
Hello -- I am trying to learn to do a little sed and awk scripting to search for text and numbers in text files (text processing/manipulation). My professor gave me a piece of uncommented code and I am very unfamiliar w/ the language. Can someone help me with comments so I can understand what is... (2 Replies)
Hi, I need to extract Password expires from the output of windows command print `net user %USERNAME% /domain`; in perl. So i want to redirect the output of this win-cmd to a file and try extracting Password expires along with its value. i'm trying with this code but getting errors.
#!usr/bin/perl... (1 Reply)
Discussion started by: sam_bd
1 Replies
LEARN ABOUT CENTOS
git-stripspace
GIT-STRIPSPACE(1) Git Manual GIT-STRIPSPACE(1)NAME
git-stripspace - Remove unnecessary whitespace
SYNOPSIS
git stripspace [-s | --strip-comments] < input
DESCRIPTION
Clean the input in the manner used by Git for text such as commit messages, notes, tags and branch descriptions.
With no arguments, this will:
o remove trailing whitespace from all lines
o collapse multiple consecutive empty lines into one empty line
o remove empty lines from the beginning and end of the input
o add a missing
to the last line if necessary.
In the case where the input consists entirely of whitespace characters, no output will be produced.
NOTE: This is intended for cleaning metadata, prefer the --whitespace=fix mode of git-apply(1) for correcting whitespace of patches or
files in the repository.
OPTIONS -s, --strip-comments
Skip and remove all lines starting with comment character (default #).
-c, --comment-lines
Prepend comment character and blank to each line. Lines will automatically be terminated with a newline. On empty lines, only the
comment character will be prepended.
EXAMPLES
Given the following noisy input with $ indicating the end of a line:
|A brief introduction $
| $
|$
|A new paragraph$
|# with a commented-out line $
|explaining lots of stuff.$
|$
|# An old paragraph, also commented-out. $
| $
|The end.$
| $
Use git stripspace with no arguments to obtain:
|A brief introduction$
|$
|A new paragraph$
|# with a commented-out line$
|explaining lots of stuff.$
|$
|# An old paragraph, also commented-out.$
|$
|The end.$
Use git stripspace --strip-comments to obtain:
|A brief introduction$
|$
|A new paragraph$
|explaining lots of stuff.$
|$
|The end.$
GIT
Part of the git(1) suite
Git 1.8.3.1 06/10/2014 GIT-STRIPSPACE(1)