Sponsored Content
Full Discussion: Extract a block of text??
Top Forums Shell Programming and Scripting Extract a block of text?? Post 302490742 by marcozd on Tuesday 25th of January 2011 03:12:08 PM
Old 01-25-2011
Quote:
Originally Posted by citaylor
Ok, I can do the first thing...
Code:
 awk '{ if($0 ~ /EQUILIBRIUM GEOMETRY LOCATED/) { while($0 !~ /^\S*$/ && getline) { print $0; } } }' filename.txt

However I dont understand what you mean by "each of the columns of text should be seperated"....by what ? tabs, spaces (justified ?), commas ?

Cheers...

Hi

Thanks very much for your reply but it doesn't seem to work for me.

Nothing happens when I type in this line of code. The sed version doesn't do anything either.

Thanks though

---------- Post updated at 03:12 PM ---------- Previous update was at 03:03 PM ----------

Quote:
Originally Posted by Perderabo
A perl solution that includes some column spacing:
Code:
$
$ cat form
#! /usr/bin/perl -wn
BEGIN {$state="skip";};
/^-+$/           and do {$state="proc"; print; next LINE};
/EQUIL/          and do {print "NOW COPY\n";$state="copy";};
$state eq "skip" and do {next LINE;};
/^\s*$/          and do {last LINE;};
$state eq "copy" and do {print ; next LINE;};
$state eq "proc" and do { printf "%-10s   %6s  %16s %16s %16s\n", split(" ", $_);};
$
$
$
$ ./form < datafile | head
NOW COPY
***** EQUILIBRIUM GEOMETRY LOCATED *****
COORDINATES OF ALL ATOMS ARE (ANGS)
ATOM CHARGE X Y Z
------------------------------------------------------------
MOLYBDENUM     42.0      5.9067578125     5.0087332497    17.4699146400
SULFUR         16.0      7.9742837782     3.7588015097    17.3910898169
SULFUR         16.0      5.0973219622     3.0091611327    16.3724427108
SULFUR         16.0      3.8536412225     4.7600928861    18.7261323168
SULFUR         16.0      6.7241053728     5.6252659948    19.6631739883
$


How do I use this? What part do I place in the shell script to make this usable?
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

extract block in file

I need to extract a particular block from a file whose locations are not known but the only identity is a word. For example in a file I have ABC asdklf asdfk FGH dfdfg asdlfk asdfl ... JHK (5 Replies)
Discussion started by: sskb
5 Replies

2. Programming

c program to extract text between two delimiters from some text file

needa c program to extract text between two delimiters from some text file. and then storing them in to diffrent variables ? text file like 0: abc.txt ========= aaaaaa|11111111|sssssssssss|333333|ddddddddd|34343454564|asass aaaaaa|11111111|sssssssssss|333333|ddddddddd|34343454564|asass... (7 Replies)
Discussion started by: kukretiabhi13
7 Replies

3. Shell Programming and Scripting

Extract particular text

I executed a following sed command => echo "a/b/c/d/e/f/g/h" | sed 's/\/*$//g' a/b/c/d/e/f/g Now what if I want to extract "g" from "a/b/c/d/e/f/g/h" . That is second last string using SED. (4 Replies)
Discussion started by: Shell_Learner
4 Replies

4. Shell Programming and Scripting

Extract block of data and the error reason too. So so urgent

Hi , this is my first enty in our forum. Problem scenario: Using informatica tool am loding records from source DB to target DB. While loading some records getting rejected due to some reason. Informatica will capture those rejected records in session log file.now the session log ll be... (2 Replies)
Discussion started by: Gopal_Engg
2 Replies

5. Shell Programming and Scripting

Extract value from a text

Hi all, my problem is extract a value from a text, i mean, I have this text: > ala Nr of active alarms are: 16 ================================================================================================ Sever Specific Problem Cause Mo-Reference... (15 Replies)
Discussion started by: marimovo
15 Replies

6. Shell Programming and Scripting

Extract selective block from XML file

Hi, There's an xml file produced from a front-end tool as shown below: <INPUT DATABASE ="ORACLE" DBNAME ="UNIX" NAME ="FACT_TABLE" OWNERNAME ="DIPS"> <INPUTFIELD DATATYPE ="double" DEFAULTVALUE ="" DESCRIPTION ="" NAME ="STORE_KEY" PICTURETEXT ="" PORTTYPE ="INPUT" PRECISION ="15" SCALE... (6 Replies)
Discussion started by: dips_ag
6 Replies

7. Shell Programming and Scripting

[Awk] Extract block of with a particular pattern

Hi, I have some CVS log files, which are divided into blocks. Each block has many fields of information and I want to extract those blocks with a pattern. Here is the sample input. RCS file: /cvsroot/eclipse/org.eclipse.debug.core/core/org/eclipse/debug/core/DebugPlugin.java,v head: 1.174... (7 Replies)
Discussion started by: sandeepk1611
7 Replies

8. Shell Programming and Scripting

How to extract block from a file?

I have siebel log file as following EventContext ....... 123 ....... SELECT ... .. EventConext <---- Question 1 , I should get this line 345 ...... SELECT <----- Question 2 , print this line Test..... <----- Question 2 , print this line .... <----- Question 2 , print... (5 Replies)
Discussion started by: ran123
5 Replies

9. Shell Programming and Scripting

Grepping text block by block by using for loop

Hei buddies, Need ur help once again. I have a file which has bunch of lines which starts from a fixed pattern and ends with another fixed pattern. I want to make use of these fixed starting and ending patterns to select the bunch, one at a time. The input file is as follows. Hi welcome... (12 Replies)
Discussion started by: anushree.a
12 Replies

10. Shell Programming and Scripting

Extract a block of text

Hello all, I am working on a script which should parse a large file called input.txt which contains table definitions, index definitions and comments like these ones: ------------------------------------------------ -- DDL Statements for table "CMWSYS"."CMWD_TEC_SUIVI_TRT"... (12 Replies)
Discussion started by: kiki_riki_miki
12 Replies
AppConfig::Getopt(3)					User Contributed Perl Documentation				      AppConfig::Getopt(3)

NAME
AppConfig::Getopt - Perl5 module for processing command line arguments via delegation to Getopt::Long. SYNOPSIS
use AppConfig::Getopt; my $state = AppConfig::State->new(\%cfg); my $getopt = AppConfig::Getopt->new($state); $getopt->parse(@args); # read args OVERVIEW
AppConfig::Getopt is a Perl5 module which delegates to Johan Vroman's Getopt::Long module to parse command line arguments and update values in an AppConfig::State object accordingly. AppConfig::Getopt is distributed as part of the AppConfig bundle. DESCRIPTION
USING THE AppConfig::Getopt MODULE To import and use the AppConfig::Getopt module the following line should appear in your Perl script: use AppConfig::Getopt; AppConfig::Getopt is used automatically if you use the AppConfig module and create an AppConfig::Getopt object through the getopt() method. AppConfig::Getopt is implemented using object-oriented methods. A new AppConfig::Getopt object is created and initialised using the new() method. This returns a reference to a new AppConfig::Getopt object. A reference to an AppConfig::State object should be passed in as the first parameter: my $state = AppConfig::State->new(); my $getopt = AppConfig::Getopt->new($state); This will create and return a reference to a new AppConfig::Getopt object. PARSING COMMAND LINE ARGUMENTS The "parse()" method is used to read a list of command line arguments and update the state accordingly. The first (non-list reference) parameters may contain a number of configuration strings to pass to Getopt::Long::Configure. A reference to a list of arguments may additionally be passed or @ARGV is used by default. $getopt->parse(); # uses @ARGV $getopt->parse(@myargs); $getopt->parse(qw(auto_abbrev debug)); # uses @ARGV $getopt->parse(qw(debug), @myargs); See Getopt::Long for details of the configuartion options available. A Getopt::Long specification string is constructed for each variable defined in the AppConfig::State. This consists of the name, any aliases and the ARGS value for the variable. These specification string are then passed to Getopt::Long, the arguments are parsed and the values in the AppConfig::State updated. See AppConfig for information about using the AppConfig::Getopt module via the getopt() method. AUTHOR
Andy Wardley, <abw@wardley.org> COPYRIGHT
Copyright (C) 1997-2007 Andy Wardley. All Rights Reserved. Copyright (C) 1997,1998 Canon Research Centre Europe Ltd. This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself. ACKNOWLEDGMENTS
Many thanks are due to Johan Vromans for the Getopt::Long module. He was kind enough to offer assistance and access to early releases of his code to enable this module to be written. SEE ALSO
AppConfig, AppConfig::State, AppConfig::Args, Getopt::Long perl v5.16.3 2007-05-30 AppConfig::Getopt(3)
All times are GMT -4. The time now is 09:10 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy