Sponsored Content
Top Forums UNIX for Dummies Questions & Answers Extract strings based on the value Post 302924002 by yuejian on Wednesday 5th of November 2014 04:24:46 PM
Old 11-05-2014
Quote:
Originally Posted by RudiC
Try this, tested from n=1 till n=4:
Code:
awk     'BEGIN  {MAX[1]=MAX[2]=MAX[3]=-1E100}
                {for (i=1; i<=3; i++)   {TX=$i
                                         gsub (/^[^(]*\(|\)/, "", TX)
                                         V[i]=TX+0
                                         if (V[i] > MAX[i]) {CNT[i]++; MAX[i]=V[i]}
                                         if (CNT[i] <= n) OUT[i] = $i
                                        }
                 if (OUT[1]OUT[2]OUT[3]) print OUT[1] "\t" OUT[2] "\t" OUT[3]
                 delete OUT
                }
        ' n=4 FS="\t" file

Thank you very much. I just adjusted it to accommodate my column numbers and it works perfectly. I also tested n with various numbers and they are all good. Thank you RudiC.
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

extract strings between tags

Hi, I have data as follows in a text file <key='data1'> <String>abcdef</String> <String>abcdef1</String> <String>abcdef2</String> </key> <key='data2'> <String>abcdef</String> <String>abcdef1</String> <String>abcdef2</String> <String>abcdef3</String> </key> Is there a way i... (10 Replies)
Discussion started by: userscript
10 Replies

2. Shell Programming and Scripting

How extract strings (perl)

Sample data: revision001 | some text | some text Comment: some comment Brief: 1) brief 2) brief ------------------------------------------ revision002 | some text | some text Brief: 1) brief 2) brief FIX: some fix ------------------------------------------ revision003 | some... (8 Replies)
Discussion started by: inotech
8 Replies

3. Shell Programming and Scripting

Extract data between two strings

Hi , I have a billing CDR file which has repeated lines as indicated below and I need to extract data between two strings (i.e.: <?> and </?>). Eventually, map that information with the corresponding field. I'm new to unix, any help will be greatly appreciated. Gamini Input (single line): !... (3 Replies)
Discussion started by: jaygamini
3 Replies

4. UNIX for Dummies Questions & Answers

Delete strings in file1 based on the list of strings in file2

Hello guys, should be a very easy questn for you: I need to delete strings in file1 based on the list of strings in file2. like file2: word1_word2_ word3_word5_ word3_word4_ word6_word7_ file1: word1_word2_otherwords..,word3_word5_others... (7 Replies)
Discussion started by: roussine
7 Replies

5. Shell Programming and Scripting

ksh: how to extract strings from each line based on a condition

Hi , I'm a newbie.Never worked on Unix before. I want a shell script to perform the following: I want to extract strings from each line ,based on the type of line(Nameline,Subline) and output it to another file.Below is a sample format. 2010-12-21 14:00"1"Nameline"Midterm"First Name:Jane ... (4 Replies)
Discussion started by: angie1234
4 Replies

6. Shell Programming and Scripting

Extract two strings from a file and create a new file with these strings

I have the following lines in a log file. It would be great if some one can help me to create a new file with the just entries in the below format. 66.150.161.195 HPSAC=Z05 66.150.161.196 HPSAC=A05 That is just extract the IP address and the string DPSAC=its value 66.150.161.195 -... (1 Reply)
Discussion started by: Tuxidow
1 Replies

7. UNIX for Dummies Questions & Answers

Extract code between 2 strings.

Hi, Im having some problems with this. I have loaded a file with html code. All code is placed in the same line. I want to get everything between two given strings (including these strings and get only the first appearance). Example: File contains <html><body><a href='a.html'>abc</a><a... (5 Replies)
Discussion started by: ngb
5 Replies

8. UNIX for Dummies Questions & Answers

Issue when using egrep to extract strings (too many strings)

Dear all, I have a data like below (n of rows=400,000) and I want to extract the rows with certain strings. I use code below. It works if there is not too many strings for example n of strings <5000. while I have 90,000 strings to extract. If I use the egrep code below, I will get error: ... (3 Replies)
Discussion started by: forevertl
3 Replies

9. UNIX for Beginners Questions & Answers

Extract content between strings

Hello i am stuck with this. i have input which is as follows /type/work /works/OL10627594W 3 2019-04-24T16:46:21.351549 {"created": {"type": "/type/datetime", "value": "2009-12-11T03:18:17.488715"}, "title": "Tog the dog", "covers": , "last_modified": {"type":... (3 Replies)
Discussion started by: ahfze
3 Replies

10. Shell Programming and Scripting

Extract strings from output

I am having the following output when executing a dig command : dig @1.1.1.1 google.com +noall +answer +stats ; <<>> DiG 9.11.4-P1 <<>> @1.1.1.1 google.com +noall +answer +stats ; (1 server found) ;; global options: +cmd obodrm.prod.at.dmdsdp.com. 86154 IN A ... (1 Reply)
Discussion started by: liviusbr
1 Replies
sorcsd.f(3)							      LAPACK							       sorcsd.f(3)

NAME
sorcsd.f - SYNOPSIS
Functions/Subroutines recursive subroutine sorcsd (JOBU1, JOBU2, JOBV1T, JOBV2T, TRANS, SIGNS, M, P, Q, X11, LDX11, X12, LDX12, X21, LDX21, X22, LDX22, THETA, U1, LDU1, U2, LDU2, V1T, LDV1T, V2T, LDV2T, WORK, LWORK, IWORK, INFO) SORCSD Function/Subroutine Documentation recursive subroutine sorcsd (characterJOBU1, characterJOBU2, characterJOBV1T, characterJOBV2T, characterTRANS, characterSIGNS, integerM, integerP, integerQ, real, dimension( ldx11, * )X11, integerLDX11, real, dimension( ldx12, * )X12, integerLDX12, real, dimension( ldx21, * )X21, integerLDX21, real, dimension( ldx22, * )X22, integerLDX22, real, dimension( * )THETA, real, dimension( ldu1, * )U1, integerLDU1, real, dimension( ldu2, * )U2, integerLDU2, real, dimension( ldv1t, * )V1T, integerLDV1T, real, dimension( ldv2t, * )V2T, integerLDV2T, real, dimension( * )WORK, integerLWORK, integer, dimension( * )IWORK, integerINFO) SORCSD Purpose: SORCSD computes the CS decomposition of an M-by-M partitioned orthogonal matrix X: [ I 0 0 | 0 0 0 ] [ 0 C 0 | 0 -S 0 ] [ X11 | X12 ] [ U1 | ] [ 0 0 0 | 0 0 -I ] [ V1 | ]**T X = [-----------] = [---------] [---------------------] [---------] . [ X21 | X22 ] [ | U2 ] [ 0 0 0 | I 0 0 ] [ | V2 ] [ 0 S 0 | 0 C 0 ] [ 0 0 I | 0 0 0 ] X11 is P-by-Q. The orthogonal matrices U1, U2, V1, and V2 are P-by-P, (M-P)-by-(M-P), Q-by-Q, and (M-Q)-by-(M-Q), respectively. C and S are R-by-R nonnegative diagonal matrices satisfying C^2 + S^2 = I, in which R = MIN(P,M-P,Q,M-Q). Parameters: JOBU1 JOBU1 is CHARACTER = 'Y': U1 is computed; otherwise: U1 is not computed. JOBU2 JOBU2 is CHARACTER = 'Y': U2 is computed; otherwise: U2 is not computed. JOBV1T JOBV1T is CHARACTER = 'Y': V1T is computed; otherwise: V1T is not computed. JOBV2T JOBV2T is CHARACTER = 'Y': V2T is computed; otherwise: V2T is not computed. TRANS TRANS is CHARACTER = 'T': X, U1, U2, V1T, and V2T are stored in row-major order; otherwise: X, U1, U2, V1T, and V2T are stored in column- major order. SIGNS SIGNS is CHARACTER = 'O': The lower-left block is made nonpositive (the "other" convention); otherwise: The upper-right block is made nonpositive (the "default" convention). M M is INTEGER The number of rows and columns in X. P P is INTEGER The number of rows in X11 and X12. 0 <= P <= M. Q Q is INTEGER The number of columns in X11 and X21. 0 <= Q <= M. X11 X11 is REAL array, dimension (LDX11,Q) On entry, part of the orthogonal matrix whose CSD is desired. LDX11 LDX11 is INTEGER The leading dimension of X11. LDX11 >= MAX(1,P). X12 X12 is REAL array, dimension (LDX12,M-Q) On entry, part of the orthogonal matrix whose CSD is desired. LDX12 LDX12 is INTEGER The leading dimension of X12. LDX12 >= MAX(1,P). X21 X21 is REAL array, dimension (LDX21,Q) On entry, part of the orthogonal matrix whose CSD is desired. LDX21 LDX21 is INTEGER The leading dimension of X11. LDX21 >= MAX(1,M-P). X22 X22 is REAL array, dimension (LDX22,M-Q) On entry, part of the orthogonal matrix whose CSD is desired. LDX22 LDX22 is INTEGER The leading dimension of X11. LDX22 >= MAX(1,M-P). THETA THETA is REAL array, dimension (R), in which R = MIN(P,M-P,Q,M-Q). C = DIAG( COS(THETA(1)), ... , COS(THETA(R)) ) and S = DIAG( SIN(THETA(1)), ... , SIN(THETA(R)) ). U1 U1 is REAL array, dimension (P) If JOBU1 = 'Y', U1 contains the P-by-P orthogonal matrix U1. LDU1 LDU1 is INTEGER The leading dimension of U1. If JOBU1 = 'Y', LDU1 >= MAX(1,P). U2 U2 is REAL array, dimension (M-P) If JOBU2 = 'Y', U2 contains the (M-P)-by-(M-P) orthogonal matrix U2. LDU2 LDU2 is INTEGER The leading dimension of U2. If JOBU2 = 'Y', LDU2 >= MAX(1,M-P). V1T V1T is REAL array, dimension (Q) If JOBV1T = 'Y', V1T contains the Q-by-Q matrix orthogonal matrix V1**T. LDV1T LDV1T is INTEGER The leading dimension of V1T. If JOBV1T = 'Y', LDV1T >= MAX(1,Q). V2T V2T is REAL array, dimension (M-Q) If JOBV2T = 'Y', V2T contains the (M-Q)-by-(M-Q) orthogonal matrix V2**T. LDV2T LDV2T is INTEGER The leading dimension of V2T. If JOBV2T = 'Y', LDV2T >= MAX(1,M-Q). WORK WORK is REAL array, dimension (MAX(1,LWORK)) On exit, if INFO = 0, WORK(1) returns the optimal LWORK. If INFO > 0 on exit, WORK(2:R) contains the values PHI(1), ..., PHI(R-1) that, together with THETA(1), ..., THETA(R), define the matrix in intermediate bidiagonal-block form remaining after nonconvergence. INFO specifies the number of nonzero PHI's. LWORK LWORK is INTEGER The dimension of the array WORK. If LWORK = -1, then a workspace query is assumed; the routine only calculates the optimal size of the WORK array, returns this value as the first entry of the work array, and no error message related to LWORK is issued by XERBLA. IWORK IWORK is INTEGER array, dimension (M-MIN(P, M-P, Q, M-Q)) INFO INFO is INTEGER = 0: successful exit. < 0: if INFO = -i, the i-th argument had an illegal value. > 0: SBBCSD did not converge. See the description of WORK above for details. References: [1] Brian D. Sutton. Computing the complete CS decomposition. Numer. Algorithms, 50(1):33-65, 2009. Author: Univ. of Tennessee Univ. of California Berkeley Univ. of Colorado Denver NAG Ltd. Date: November 2011 Definition at line 297 of file sorcsd.f. Author Generated automatically by Doxygen for LAPACK from the source code. Version 3.4.1 Sun May 26 2013 sorcsd.f(3)
All times are GMT -4. The time now is 08:40 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy