Sponsored Content
Full Discussion: Grouping matches by cols
Top Forums Shell Programming and Scripting Grouping matches by cols Post 302234524 by cfajohnson on Tuesday 9th of September 2008 09:20:30 PM
Old 09-09-2008
Quote:
Originally Posted by gbalsu
No, if it was the first field all the time, I would never have posted this.

So what is the rule for determining the group?
Quote:
I kindly request you to look at my input again - if A B was encountered previously, when you next see B B it needs to be assigned to A.

When I "next see B B"? I haven't seen it before.
Quote:
I wanted to only provide a simple example but I guess I made it too simple and now appear not so smart.

Lets add some more.

Input

A A
A X
C D
E F
X L
A B
O O
P P
M N
B B

Output

A A A
A X A
C D C
E F E
X L X
A B A
O O O
T X X

Why is that T X X and not T X T?
Quote:
Why is that last line B B A and not B B B?
E E E
P P P
M N M
B B A

Why is that last line B B A and not B B B?

Does this do what you want?
Code:
awk '
{ group = (x[$1]) ? x[$1] : (x[$2]) ? x[$2] : $1 }
x[$1] || x[$2] { group = (x[$1]) ? x[$1] : x[$2] }
{print $0, group }
!x[$1] { x[$1] = group}
!x[$2] { x[$2] = group }
' "$FILE"

##

 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

join cols from multi files into one file

Hi Fields in Files 1,2,3,4 are pipe"|" separated. Say I want to grep col1 from File1 col3 from File2 col4 from File3 and print to File4 in the following order: col3|col1|col4 what is the best way of doing this? Thanks (2 Replies)
Discussion started by: vbshuru
2 Replies

2. Shell Programming and Scripting

awk - print formatted without knowing no of cols

Hi, i want to print(f) the content of a file, but i don't know how many columns it has (i.e. it changes from each time my script is run). The number of columns is constant throughout the file. Any suggestions? (8 Replies)
Discussion started by: bistru
8 Replies

3. Shell Programming and Scripting

How to find number of Cols in a file ?

Hi I have a requirement wherein the file is comma separated. Each records seems to have different number of columns, how I can detect like a row index wise, how many columns are present ? Thanks in advance. (2 Replies)
Discussion started by: videsh77
2 Replies

4. Shell Programming and Scripting

sort and split file by 2 cols (1 col after the other)

Dear All, I am a newbie to shell scripting so this one is really over my head. I have a text file with five fields as below: 76576.867188 6232.454102 2.008904 55.000000 3 76576.867188 6232.454102 3.607231 55.000000 4 76576.867188 6232.454102 1.555146 65.000000 3 76576.867188 6232.454102... (19 Replies)
Discussion started by: Ghetz
19 Replies

5. Programming

Curses not updating LINES/COLS

I'm working with an extremely outdated and old system at work. We do not have ncurses, but we do have curses. I need to make a user interface for users connecting with xterm. One issue I've encountered is if the user resizes the window, I'd like to provide functionality to redraw the screen with... (4 Replies)
Discussion started by: nwboy74
4 Replies

6. Shell Programming and Scripting

awk -- print combinations for 2 cols

Dear all, could you please help me with awk please? I have such input: Input: a d b e c f The number of lines is unknown before reading the file. I need to print possible combination between the two columns like this: Output: a d b d c d a e b e c e a f (2 Replies)
Discussion started by: irrevocabile
2 Replies

7. Shell Programming and Scripting

Join txt files with diff cols and rows

I am a new user of Unix/Linux, so this question might be a bit simple! I am trying to join two (very large) files that both have different # of cols and rows in each file. I want to keep 'all' rows and 'all' cols from both files in the joint file, and the primary key variables are in the rows.... (1 Reply)
Discussion started by: BNasir
1 Replies

8. Shell Programming and Scripting

Compare 2 files and print matches and non-matches in separate files

Hi all, I have two files, chap.txt and complex.txt. chap.txt looks like this: a d l m r k complex.txt looks like this: a c d e l m n j a d l p q r c p r m ......... (7 Replies)
Discussion started by: AshwaniSharma09
7 Replies

9. Shell Programming and Scripting

Bitwise comparison of cols

Hello, I want to compute the bitwise number of matches in pairwise fashion for all columns. The problem is I have 18486955 rows and 750 columns. Please help with code, I believe this will take a lot of time, is there a way of tracking progress? Input Org1 Org2 Org3 A A T A ... (9 Replies)
Discussion started by: ritakadm
9 Replies

10. Shell Programming and Scripting

Getting cut to ignore cols in middle of records

I recently had to remove a number of columns from a sorted copy of a file, but couldn't get the cut command to take fields out, just what to keep. This is the only thing I could find as an example, but could it be simplified? tstamp=`date +%H%M%S` grep -v "T$" filename |egrep -v "^$" |sort... (3 Replies)
Discussion started by: wbport
3 Replies
UNCRUSTIFY(1)							   User Commands						     UNCRUSTIFY(1)

NAME
uncrustify - C, C++, C#, D, Java and Pawn source code beautifier SYNOPSIS
uncrustify [OPTIONS] [FILES] DESCRIPTION
If no input files are specified, the input is read from stdin. If reading from stdin, you should specify the language using -l. If -F is used or files are specified on the command line, the output filename is PFX + "/" + filename + SFX. Unless, of course, the options --replace or --no-backup are used. When reading from stdin or doing a single file via the '-f' option, the output is dumped to stdout, unless redirected with -o FILE. Errors are always dumped to stderr OPTIONS
Basic Options: -c CFG Use the config file CFG. If not specified, uncrustify will use $UNCRUSTIFY_CONFIG or $HOME.uncrustify.cfg. -f FILE Process the single file FILE, sending output to stdout or the file specified with -o. -o FILE Redirect output to FILE. Use with -f, --update-config, --update-config-with-doc, --universalindent. -F FILE Read files to process from FILE, one filename per line. You can create this file using something like 'find . -name "*.c" > list.txt'. This cannot be combined with -f. --prefix PFX Prepend PFX to the output filename path. This cannot be combined with -f, --replace, or --no-backup. --suffix SFX Append SFX to the output filename. The default is '.uncrustify' if neither SFX or PFX are specified. This cannot be combined with -f, --replace, or --no-backup. --frag Assume the input is a code fragment and the first line is properly indented. --replace Replace source files (creates a backup). This cannot be combined with -f, --prefix, or --suffix. --no-backup Replace files, no backup. Useful if files are under source control This cannot be combined with -f, --prefix, or --suffix. --mtime Preserve mtime on replaced files. -l Language override: C, CPP, D, CS, JAVA, PAWN, VALA, OC, OC+ -t Load a file with types (usually not needed) -q Quiet mode - no output on stderr (-L will override) Config/Help Options: -h -? --help --usage Print this message and exit --version Print the version and exit --show-config Print out option documentation and exit --update-config Output a new config file. --update-config-with-doc Output a new config file with embedded usage comments. --universalindent Output a config file for Universal Indent GUI. --detect Detects the config from a source file. Use with '-f FILE'. Detection is currently fairly limited. Debug Options: -p FILE Dump debug info to a file -L SEV Set the log severity (see log_levels.h) -s Show the log severity in the logs --decode FLAG Print FLAG as text and exit EXAMPLES
Read a D file from stdin, output to stdout. cat foo.d | uncrustify -q -c my.cfg -l d Process a file, output to stdout. uncrustify -c my.cfg -d foo.d Process a source tree, output to a different tree. find src -name "*.[ch]" > files.txt uncrustify -c my.cfg -F files.txt --prefix out Process a source tree in-place. uncrustify -c my.cfg --no-backup $(find src -name "*.[ch]") NOTES
Use comments containing ' *INDENT-OFF*' and ' *INDENT-ON*' to disable processing of parts of the source file. AUTHOR
Written by Ben Gardner REPORTING BUGS
Use the issue tracker at <http://sourceforge.net/projects/uncrustify> COPYRIGHT
Copyright (C) 2006-2009 Ben Gardner LICENSE
GNU GPL version 2 or later <http://gnu.org/licenses/gpl.html> 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. uncrustify 0.59 Oct 2009 UNCRUSTIFY(1)
All times are GMT -4. The time now is 02:55 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy