Sponsored Content
Top Forums Shell Programming and Scripting Find lines in text file with certain data in first field Post 302318541 by ghostdog74 on Thursday 21st of May 2009 09:27:51 PM
Old 05-21-2009
if you have Python,
Code:
#!/usr/bin/env python
d={}
for line in open("file"):
    line = line.strip().split()
    d.setdefault(line[0],[])
    d[line[0]].append(line[-1])
for i,j in d.iteritems():
    print i,','.join(j)

output
Code:
# ./test.py
a1 test1,test2
a2 test1,test2
b1 test1,test2
b2 test1,test2

 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

shellscript to find a line in between a particular set of lines of a text file

i have a file a.txt and following is only one portion. I want to search <branch value="/dev36/AREA/" include="yes"></branch> present in between <template_file name="Approve External" path="core/approve/bin" and </template_file> where the no of lines containing "<branch value= " is increasing ... (2 Replies)
Discussion started by: millan
2 Replies

2. UNIX for Dummies Questions & Answers

find uniq lines in file, using the first field of line

Hello all, new to unix and have just found the forum. I think I will be here quite often, and hope that in time i will be able to provide soem help, role on not being a newbie anymore :) I have a question which iI am hoping someone could help me with. If i have a file with lines in in thus... (8 Replies)
Discussion started by: grom
8 Replies

3. Shell Programming and Scripting

Shell script to read lines in a text file and filter user data

hi all, I have this file with some user data. example: $cat myfile.txt FName|LName|Gender|Company|Branch|Bday|Salary|Age aaaa|bbbb|male|cccc|dddd|19900814|15000|20| eeee|asdg|male|gggg|ksgu|19911216||| aara|bdbm|male|kkkk|acke|19931018||23| asad|kfjg|male|kkkc|gkgg|19921213|14000|24|... (4 Replies)
Discussion started by: srimal
4 Replies

4. Shell Programming and Scripting

Find pattern, and then last field from subsequent lines

I've got a log file, of the format Name: network1 Dropped packets: 15618 Dropped packets for IPv6: 27 Dropped packets: 74 Dropped packets for IPv6: 0 Failed RADIUS Authentication procedures: 0 Failed RADIUS Accounting procedures: 0 Name: network2 Dropped packets: 1117 ... (18 Replies)
Discussion started by: Yorkie99
18 Replies

5. Shell Programming and Scripting

Find and replace data in text file with data in same file

OK I will do my best to explain what I need help with. I am trying to format an ldif file so I can import it into Oracle oid. I need the file to look like this example. Keep in mind there are 3000 of these in the file. changetype: modify replace: userpassword dn:... (0 Replies)
Discussion started by: timothyha22
0 Replies

6. Shell Programming and Scripting

Extracting specific lines of data from a file and related lines of data based on a grep value range?

Hi, I have one file, say file 1, that has data like below where 19900107 is the date, 19900107 12 144 129 0.7380047 19900108 12 168 129 0.3149017 19900109 12 192 129 3.2766666E-02 ... (3 Replies)
Discussion started by: Wynner
3 Replies

7. Shell Programming and Scripting

find string(s) in text file and nearby data, export to list help

Hi, So I'm kinda new to shell scripts and the like. I've picked up quite a bit of use from browsing the forums here but ran into a new one that I can't seem to find an answer for. I'm looking to parse/find a string AND the next 15 or so charachters that follow the string within a text file... (1 Reply)
Discussion started by: kar23me
1 Replies

8. Shell Programming and Scripting

Text file to CSV with field data separated by blank lines

Hello, I have some data in a text file where fields are separated by blank lines. There are only 6 fields however some fields have several lines of data as I will explain. Also data in a particular field is not consistently the same size but does end on a blank line. The first field start with... (6 Replies)
Discussion started by: vestport
6 Replies

9. Shell Programming and Scripting

awk to skip lines find text and add text based on number

I am trying to use awk skip each line with a ## or # and check each line after for STB= and if that value in greater than or = to 0.8, then at the end of line the text "STRAND BIAS" is written in else "GOOD". So in the file of 4 entries attached. awk tried: awk NR > "##"' "#" -F"STB="... (6 Replies)
Discussion started by: cmccabe
6 Replies

10. Shell Programming and Scripting

Modifying text file records, find data in one place in the record and print it elsewhere

Hello, I have some text data that is in the form of multi-line records. Each record ends with the string $$$$ and the next record starts on the next line. RDKit 2D 15 14 0 0 0 0 0 0 0 0999 V2000 5.4596 2.1267 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 ... (5 Replies)
Discussion started by: LMHmedchem
5 Replies
geniconvtbl(1)							   User Commands						    geniconvtbl(1)

NAME
geniconvtbl - generate iconv code conversion tables SYNOPSIS
geniconvtbl [-fnq] [-p preprocessor] [-W arg] [-Dname] [-Dname=def] [-Idirectory] [-Uname] [infile...] DESCRIPTION
The geniconvtbl utility accepts code conversion rules defined in flat text file(s) and writes code conversion binary table file(s) that can be used to support user-defined iconv code conversions (see iconv(1) and iconv(3C) for more detail on the iconv code conversion). OPTIONS
The following options are supported: -f Overwrites output file if the output file exists. -n Does not generate an output file. This is useful to check the contents of the input file. -p preprocessor Uses specified preprocessor instead of the default preprocessor, /usr/lib/cpp. -q Quiet option. It suppresses warning and error messages. -W arg Passes the argument arg to the preprocessor. If this option is specified more than once, all arguments are passed to the preprocessor. -Dname geniconvtbl recognizes these options and passes them and their arguments to the preprocessor. -Dname=def -Idirectory -Uname OPERANDS
The following operand is supported: infile A path name of an input file. If no input file is specified, geniconvtbl reads from the standard input stream. The user can specify more than one input file if necessary. OUTPUT
If input is from the standard input stream, geniconvtbl writes output to the standard output stream. If one or more input files are speci- fied, geniconvtbl reads from each input file and writes to a corresponding output file. Each of the output file names will be the same as the corresponding input file with .bt appended. The generated output files must be moved to the following directory prior to using the code conversions at iconv(1) and iconv(3C): /usr/lib/iconv/geniconvtbl/binarytables/ The output file name should start with one or more printable ASCII characters as the 'fromcode' name followed by a percentage character (%), followed by one or more printable ASCII characters as the 'tocode' name, followed by the suffix '.bt'. The 'fromcode' and 'tocode' names are used to identify the iconv code conversion at iconv(1) and iconv_open(3C)). The properly named output file should be placed in the directory, /usr/lib/iconv/geniconvtbl/binarytables/. EXAMPLES
Example 1: Generating an iconv code conversion binary table The following example generates a code conversion binary table with output file name convertA2B.bt: example% geniconvtbl convertA2B Example 2: Generating multiple iconv code conversion binary tables The following example generates two code conversion binary tables with output files test1.bt and test2.bt: example% geniconvtbl test1 test2 Example 3: Using another preprocessor The following example generates a code conversion binary table once the specified preprocessor has processed the input file: example% geniconvtbl -p /opt/SUNWspro/bin/cc -W -E convertB2A Example 4: Placing a binary table To use the binary table created in the first example above as the engine of the conversion 'fromcode' ABC to 'tocode' DEF, become super- user and then rename it and place it like this: example# mv convertA2B.bt /usr/lib/iconv/geniconvtbl/binarytables/ABC%DEF.bt Example 5: Providing modified ISO8859-1 to UTF-8 code conversion Write a geniconvtbl source file that defines the code conversion. For instance, you can copy over /usr/lib/iconv/genicon- vtbl/srcs/ISO8859-1_to_UTF-8.src into your directory and make necessary changes at the source file. Once the modifications are done, generate the binary table: example% geniconvtbl ISO8859-1_to_UTF-8.src As super-user, place the generated binary table with a unique name at the system directory where iconv_open(3C) can find the binary table: example su Password: example% cp ISO8859-1_to_UTF-8.bt /usr/lib/iconv/geniconvtbl/binarytables/my-iso-8859-1%utf-8.bt After that, you can do the iconv code conversion. For instance: example% iconv -f my-iso-8859-1 -t utf-8 testfile.txt ENVIRONMENT VARIABLES
See environ(5) for descriptions of the following environment variables that affect the execution of geniconvtbl: LANG and LC_CTYPE. EXIT STATUS
The following exit values are returned: 0 No errors occurred and the output files were successfully created. 1 Command line options are not correctly used or an unknown command line option was specified. 2 Invalid input or output file was specified. 3 Conversion rules in input files are not correctly defined. 4 Conversion rule limit of input files has been reached. See NOTES section of geniconvtbl(4). 5 No more system resource error. 6 Internal error. FILES
/usr/lib/iconv/geniconvtbl/binarytables/*.bt conversion binary tables /usr/lib/iconv/geniconvtbl/srcs/* conversion source files for user reference ATTRIBUTES
See attributes(5) for descriptions of the following attributes: +-----------------------------+-----------------------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | +-----------------------------+-----------------------------+ |Availability |SUNWcsu | +-----------------------------+-----------------------------+ SEE ALSO
cpp(1), iconv(1), iconv(3C), iconv_close(3C), iconv_open(3C), geniconvtbl(4), attributes(5), environ(5), iconv(5) Solaris Internationalization Guide for Developers NOTES
The generated and correctly placed output files, /usr/lib/iconv/geniconvtbl/binarytables/*.bt, are used in both 32-bit and 64-bit environ- ments. SunOS 5.10 30 Nov 2001 geniconvtbl(1)
All times are GMT -4. The time now is 11:28 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy