Sponsored Content
Top Forums Shell Programming and Scripting awk join lines based on keyword Post 302989745 by Don Cragun on Tuesday 17th of January 2017 06:16:02 PM
Old 01-17-2017
The spacing in your output is inconsistent and it would have helped if you had explicitly stated that you wanted to remove a trailing period, if present, from each word present in lines being joined; but this seems to come close to what you seem to want:
Code:
awk '
/^PATTERN/ {
	if(NR > 1) {
		print out
		out = ""
	}
}
{	for(i = 2; i <= NF; i++)
		out = out substr($i, 1, length($i) - ($i ~ /[.]$/)) OFS
}
END {	print out
}' file02.txt

As always, if you want to try this on a Solaris/SunOS system, change awk to /usr/xpg4/bin/awk or nawk.
This User Gave Thanks to Don Cragun For This Post:
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Awk Join multiple lines

Hi, I have data with broken lines: Sample data: "12"|"25"|"a"|"b"|"c"|"d"|"e"|"f"|"2453748"|"08:10:50" "16"|"25"|"a"|"b"|"c"|"d"|"e"|"f"|" 2453748"|"08:15:50" "16"|"25"|"a"|"b"|" c"|"d"|"e"|"f"|"2453748"|"08:19:50" "16"|"25"|"a"|"b"|"c"|"d"|"e"|"f"|"2453748"|"08:19:50" In the... (5 Replies)
Discussion started by: hitmansilentass
5 Replies

2. Shell Programming and Scripting

to join the corresponding lines using shell commands or awk

Suppose u have this file gi_1 ABCDEFDHIJ KMNOPQRSTU VWXYZABCDE gi_2 JKLMNOPQRS TUVWXYZABC DEFGHIJKLM gi_3 PQRSTUVWXY ZABCDEFGHI JKLMNOPQRS gi_4 CDEFGHIJKL MNOPQRSTUV WXYZABCDEF gi_5 IJKLMNOPQR STUVWXYZAB CDEFGHIJKLM FGHIJKLMNO PQRSTUVWXY ZABCDEFABC NOPQRSTUVW XYZABCDEFG... (7 Replies)
Discussion started by: cdfd123
7 Replies

3. Shell Programming and Scripting

Extract lines of text based on a specific keyword

I regularly extract lines of text from files based on the presence of a particular keyword; I place the extracted lines into another text file. This takes about 2 hours to complete using the "sort" command then Kate's find & highlight facility. I've been reading the forum & googling and can find... (4 Replies)
Discussion started by: DionDeVille
4 Replies

4. Shell Programming and Scripting

join based on line number when one file is missing lines

I have a file that contains 87 lines, each with a set of coordinates (x & y). This file looks like: 1 200.3 -0.3 2 201.7 -0.32 ... 87 200.2 -0.314 I have another file which contains data that was taken at certain of these 87 positions. i.e.: 37 125 42 175 86 142 where the first... (1 Reply)
Discussion started by: jackiev
1 Replies

5. Shell Programming and Scripting

Merge file lines based off of keyword

Hello Everyone, I have two files I created in a format similar to the ones found below (character position is important): File 1: 21 Cat Y N S Y Y N N FOUR LEGS TAIL WHISKERS 30 Dog N N 1 Y Y N N FOUR LEGS TAIL 33 Fish Y N 1 Y Y N N FINS 43 CAR Y N S Y Y N N WHEELS DOORS... (7 Replies)
Discussion started by: jl487
7 Replies

6. UNIX for Dummies Questions & Answers

join 2 lines based on 1st field

hi i have a file with the following lines 2303:13593:137135 16 abc1 26213806....... 1234:45675:123456 16 bbc1 9813806....... 2303:13593:137135 17 bna1 26566444.... 1234:45675:123456 18 nnb1 98123456....... i want to join the lines having common 1st field i,e., ... (1 Reply)
Discussion started by: anurupa777
1 Replies

7. Shell Programming and Scripting

Join lines from two files based on match

I have two files. File1 >gi|11320906|gb|AF197889.1|_Buchnera_aphidicola ATGAAATTTAAGATAAAAAATAGTATTTT >gi|11320898|gb|AF197885.1|_Buchnera_aphidicola ATGAAATTTAATATAAACAATAAAA >gi|11320894|gb|AF197883.1|_Buchnera_aphidicola ATGAAATTTAATATAAACAATAAAATTTTT File2 AF197885 Uroleucon aeneum... (2 Replies)
Discussion started by: pathunkathunk
2 Replies

8. Shell Programming and Scripting

Join lines using sed or awk

Hi, I have text file that looks like this: blabla bla PATTERN LINE1 LINE2 bla bla bla PATTERN LINE1 LINE2 bla PATTERN LINE1 LINE2 bla (9 Replies)
Discussion started by: hench
9 Replies

9. UNIX for Beginners Questions & Answers

Sed/awk join lines once pattern found

Hi all OS - RHEL6.4 I have input file -f1.txt I need to search line which starts with \Start and read next line till it gets blank line and join them all. I need to trim any trailing spaces for each line.So output.txt should be.. \Start\now\fine stepwatch this space for toolsends... (7 Replies)
Discussion started by: krsnadasa
7 Replies

10. Shell Programming and Scripting

Join columns across multiple lines in a Text based on common column using BASH

Hello, I have a file with 2 columns ( tableName , ColumnName) delimited by a Pipe like below . File is sorted by ColumnName. Table1|Column1 Table2|Column1 Table5|Column1 Table3|Column2 Table2|Column2 Table4|Column3 Table2|Column3 Table2|Column4 Table5|Column4 Table2|Column5 From... (6 Replies)
Discussion started by: nv186000
6 Replies
graph(1)							   User Commands							  graph(1)

NAME
graph - draw a graph SYNOPSIS
graph [ -a spacing [start]] [-b] [-c string] [-g gridstyle] [-l label] [-m connectmode] [-s] [ -x [l] lower [ upper [spacing]]] [ -y [l] lower [ upper [spacing]]] [-h fraction] [-w fraction] [-r fraction] [-u fraction] [-t] ... DESCRIPTION
graph with no options takes pairs of numbers from the standard input as abscissaes and ordinates of a graph. Successive points are con- nected by straight lines. The standard output from graph contains plotting instructions suitable for input to plot(1B) or to the command lpr -g (see lpr(1B)). If the coordinates of a point are followed by a nonnumeric string, that string is printed as a label beginning on the point. Labels may be surrounded with quotes "...", in which case they may be empty or contain blanks and numbers; labels never contain NEWLINE characters. A legend indicating grid range is produced with a grid unless the -s option is present. OPTIONS
Each option is recognized as a separate argument. If a specified lower limit exceeds the upper limit, the axis is reversed. -a spacing[ start ] Supply abscissaes automatically (they are missing from the input); spacing is the spacing (default 1). start is the starting point for automatic abscissaes (default 0 or lower limit given by -x). -b Break (disconnect) the graph after each label in the input. -c string String is the default label for each point. -g gridstyle Gridstyle is the grid style: 0 no grid, 1 frame with ticks, 2 full grid (default). -l label label is label for graph. -m connectmode Mode (style) of connecting lines: 0 disconnected, 1 connected (default). Some devices give distin- guishable line styles for other small integers. -s Save screen, do not erase before plotting. -x [ l ] lower [ upper [ spacing ] ] If l is present, x axis is logarithmic. lower and upper are lower (and upper) x limits. spacing, if present, is grid spacing on x axis. Normally these quantities are determined automatically. -y [ l ] lower [ upper [ spacing ] ] If l is present, y axis is logarithmic. lower and upper are lower (and upper) y limits. spacing, if present, is grid spacing on y axis. Normally these quantities are determined automatically. -h fraction fraction of space for height. -w fraction fraction of space for width. -r fraction fraction of space to move right before plotting. -u fraction fraction of space to move up before plotting. -t Transpose horizontal and vertical axes. Option -x now applies to the vertical axis. ATTRIBUTES
See attributes(5) for descriptions of the following attributes: +-----------------------------+-----------------------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | +-----------------------------+-----------------------------+ |Availability |SUNWesu | +-----------------------------+-----------------------------+ SEE ALSO
lpr(1B), plot(1B), spline(1), plot(3PLOT), attributes(5) BUGS
graph stores all points internally and drops those for which there is no room. Segments that run out of bounds are dropped, not windowed. Logarithmic axes may not be reversed. SunOS 5.10 14 Sep 1992 graph(1)
All times are GMT -4. The time now is 01:29 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy