Sponsored Content
Top Forums Shell Programming and Scripting Filter and sort the file using awk Post 303007322 by RavinderSingh13 on Wednesday 15th of November 2017 08:50:03 AM
Old 11-15-2017
Hello ranjancom2000,

Could you please try following and let me know if this helps you.
Code:
awk '/^Device Symmetrix Name/{next} /^ +Device Symmetrix Name/{flag=1;if(ac_flag){print ""};sub(/^ +/,"");sub(/ +:/,":");val=$0;ac_flag="";next} /RDF Type.*R1/ && flag{sub(/^ +/,"");sub(/ +:/,":");printf("%s %s ",val,$0);flag="";ac_flag=1;next} ac_flag{sub(/^ +/,"");sub(/ +:/,":");printf(",%s",$0)}END{print ""}'    Input_file

Output will be as follows.
Code:
Device Symmetrix Name: 000AB RDF Type: R1 ,Remote Device Symmetrix Name: 000A1,Remote Symmetrix ID: frame1
Device Symmetrix Name: 000AC RDF Type: R1 ,Remote Device Symmetrix Name: 000A2,Remote Symmetrix ID: frame1
Device Symmetrix Name: 000AD RDF Type: R1 ,Remote Device Symmetrix Name: 000A3,Remote Symmetrix ID: frame1

EDIT: Adding a non-one liner form of solution too now.
Code:
awk '
/^Device Symmetrix Name/{
  next
}
/^ +Device Symmetrix Name/{
  flag=1;
  if(ac_flag){
    print ""
};
  sub(/^ +/,"");
  sub(/ +:/,":");
  val=$0;
  ac_flag="";
  next
}
/RDF Type.*R1/ && flag{
  sub(/^ +/,"");
  sub(/ +:/,":");
  printf("%s %s ",val,$0);
  flag="";
  ac_flag=1;
  next
}
ac_flag{
  sub(/^ +/,"");
  sub(/ +:/,":");
  printf(",%s",$0)
}
END{
  print ""
}'    Input_file

Thanks,
R. Singh

Last edited by RavinderSingh13; 11-15-2017 at 09:54 AM.. Reason: Adding a non-one liner form of solution too now.
This User Gave Thanks to RavinderSingh13 For This Post:
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

filter parts of a big file using awk or sed script

I need an assistance in file generation using awk, sed or anything... I have a big file that i need to filter desired parts only. The objective is to select (and print) the report # having the string "apple" on 2 consecutive lines in every report. Please note that the "apple" line has a HEX... (1 Reply)
Discussion started by: apalex
1 Replies

2. Shell Programming and Scripting

Filter records in a file using AWK

I want to filter records in one of my file using AWK command (or anyother command). I am using the below code awk -F@ '$1=="0003"&&"$2==20100402" print {$0}' $INPUT > $OUTPUT I want to pass the 0003 and 20100402 values through a variable. How can I do this? Any help is much... (1 Reply)
Discussion started by: gpaulose
1 Replies

3. Shell Programming and Scripting

AWK filter from file and print

Dear all, I am using awk to filter some data like this:- awk 'NR==FNR{a;next}($1 in a)' FS=":" filter.dat data.dat >! out.dat where the filter and input data look like this:- filter.dat... n_o00j_1900_40_007195350_0:n_o00j_1940_40_007308526... (3 Replies)
Discussion started by: atb299
3 Replies

4. Shell Programming and Scripting

awk-filter record by another file

I have file1 3049 3138 4672 22631 45324 112382 121240 125470 130289 186128 193996 194002 202776 228002 253221 273523 284601 284605 641858 (8 Replies)
Discussion started by: biomed
8 Replies

5. Shell Programming and Scripting

Help with awk, using a file to filter another one

I have a main file: ... 17,466971 0,095185 17,562156 id 676 17,466971 0,096694 17,563665 id 677 17,466971 0,09816 17,565131 id 678 17,466971 0,099625 17,566596 id 679 17,466971 0,101091 17,568062 id 680 17,466971 0,016175 17,483146 id... (4 Replies)
Discussion started by: boblix
4 Replies

6. Shell Programming and Scripting

awk filter by columns of file csv

Hi, I would like extract some lines from file csv using awk , below the example: I have the file test.csv with in content below. FLUSSO;COD;DATA_LAV;ESITO ULL;78;17/09/2013;OL ULL;45;05/09/2013;Apertura NP;45;13/09/2013;Riallineamento ULLNP;78;17/09/2013;OL NPG;14;12/09/2013;AperturaTK... (6 Replies)
Discussion started by: giankan
6 Replies

7. Shell Programming and Scripting

awk to filter file using range in another file

I have a very large tab-delimited, ~2GB file2 that I am trying to filter using $2 of file1. If $2 of file1 is in the range of $2 and $3 in file1 then the entire line of file2 is outputed. If the range match is not found then that line is skipped. The awk below does run but no output results. ... (3 Replies)
Discussion started by: cmccabe
3 Replies

8. Shell Programming and Scripting

awk to filter file using another working on smaller subset

In the below awk if I use the attached file as the input, I get no results for TCF4. However, if I just copy that line from the attached file and use that as input I get results for TCF4. Basically the gene file is a 1 column list that is used to filter $8 of the attached file. When there is a... (9 Replies)
Discussion started by: cmccabe
9 Replies

9. Shell Programming and Scripting

awk to filter file based on seperate conditions

The below awk will filter a list of 30,000 lines in the tab-delimited file. What I am having trouble with is adding a condition to SVTYPE=CNV that will only print that line if CI= must be >.05 . The other condition to add is if SVTYPE=Fusion, then in order to print that line READ_COUNT must... (3 Replies)
Discussion started by: cmccabe
3 Replies

10. Shell Programming and Scripting

Awk/sed/cut to filter out records from a file based on criteria

I have two files and would need to filter out records based on certain criteria, these column are of variable lengths, but the lengths are uniform throughout all the records of the file. I have shown a sample of three records below. Line 1-9 is the item number "0227546_1" in the case of the first... (15 Replies)
Discussion started by: MIA651
15 Replies
ROBOCUT(1)							   User Commands							ROBOCUT(1)

NAME
Robocut - is used with cutting plotters. DESCRIPTION
The `Robocut' program plots or cuts SVG files on a Craft Robo or Silhouette SD or most likely any other customer grade Graphtec cutting plotter. Usage: robocut [OPTIONS...] [File] Help Options: --help Show summary of options. --version Show version information and copyright details. --show Show all the parameters entered and the defaults. Application Options: -s, --no-sort Stop sort the objects from the SVG before plotting. -t, --bb-sort Sort the objects by bounding box, good for letters. This will cut out the inside first and than the outside. --cut Shows the cutting dialogue after start. --media INT Select the media. See drop down box. -g, --speed INT The speed between 1 and 33. -p, --pressure INT The pressure between 1 and 10. --track-enhancing Move three times back and forward to create a track. --margin-top DOUBLE Define the margin on top in mm. --margin-right DOUBLE Define the margin right in mm. Registration Mark Options: -r, --reg-mark-auto Use registration marks and find the marks automatically. --reg-mark Use registration marks but set the knife manually on top the round mark. -a, --reg-dimension-width DOUBLE Specify the length in mm between the the two horizontal marks. -b, --reg-dimension-height DOUBLE Specify the length in mm between the the two vertical marks. -c, --reg-origin-width DOUBLE Specify the length in mm between the the edge of the paper and the first horizontal mark. -d, --reg-origin-height DOUBLE Specify the length in mm between the the edge of the paper and the first vertical mark. Device Options: --usb-vendor-id INT Try this program with other usb hardware on your own risk. You need to convert hex to dec. --usb-product-id INT May also work with other hardware, try usb-devices program to scan your computer. ENVIRONMENT
QT SVG only supports the SVG 1.2 Tiny standard and this has a limited SVG support. For example multiline text is something that is no sup- ported by Robocut, however you can export your text to a path or just create each line separate. AUTHOR
Written by Tim Hutt and Markus Schulz <schulz@alpharesearch.de> REPORTING BUGS
Report bugs to https://bugs.launchpad.net/robocut/+filebug. COPYRIGHT
Copyright (C) 2010 This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICU- LAR PURPOSE. Robocut V1.0.8 August 2011 ROBOCUT(1)
All times are GMT -4. The time now is 05:30 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy