Sponsored Content
Full Discussion: Put data into tabular form
Top Forums UNIX for Dummies Questions & Answers Put data into tabular form Post 302653757 by drl on Sunday 10th of June 2012 09:27:50 AM
Old 06-10-2012
Hi.

The core of this solution is to:

1) create the title line. This could be done automatically, but would obscure the real work

2) collect groups of 4 lines,

3) remove the fruit tags,

4) align the title, names and values

Code:
#!/usr/bin/env bash

# @(#) s1	Demonstrate re-arrangement with paste, sed, align.
# align: http://freecode.com/projects/align

# Section 1, setup, pre-solution, $Revision: 1.25 $".
# Infrastructure details, environment, debug commands for forum posts. 
# Uncomment export command to run script as external user.
# export PATH="/usr/local/bin:/usr/bin:/bin" HOME=""
set +o nounset
pe() { for _i;do printf "%s" "$_i";done; printf "\n"; }
pl() { pe;pe "-----" ;pe "$*"; }
db() { : ; }
db() { ( printf " db, ";for _i;do printf "%s" "$_i";done;printf "\n" ) >&2 ; }
C=$HOME/bin/context && [ -f $C ] && $C paste sed align
set -o nounset
pe

FILE=${1-data1}

# Display sample of data file, expected output:"
db " Section 1: display of data."
head $FILE expected-output.txt

# Section 2, solution.
pl " Results:"
db " Section 2: solution."
title=$( pe " apple banana cherry" | sed 's/  */\t/g')
paste - - - - < $FILE |
tee t1 |
sed -r 's/apple|banana|cherry//g' > t2
( pe "$title" ; cat t2 ) |
align -st |
tee f1

# Section 3, post-solution, check results, clean-up, etc.
v1=$(wc -l <expected-output.txt)
v2=$(wc -l < f1)
pl " Comparison of $v2 created lines with $v1 lines of desired results:"
db " Section 3: validate generated calculations with desired results."

pl " Comparison with desired results:"
if [ ! -f expected-output.txt -o ! -s expected-output.txt ]
then
  pe " Comparison file \"expected-output.txt\" zero-length or missing."
  exit
fi
if cmp expected-output.txt f1
then
  pe " Succeeded -- files have same content."
else
  pe " Failed -- files not identical -- detailed comparison follows."
  if diff -b expected-output.txt f1
  then
    pe " Succeeded by ignoring whitespace differences."
  fi
fi

exit 0

produciing:
Code:
% ./s1

Environment: LC_ALL = C, LANG = C
(Versions displayed with local utility "version")
OS, ker|rel, machine: Linux, 2.6.26-2-amd64, x86_64
Distribution        : Debian GNU/Linux 5.0.8 (lenny) 
bash GNU bash 3.2.39
paste (GNU coreutils) 6.10
sed GNU sed version 4.1.5
align 1.7.0

 db,  Section 1: display of data.
==> data1 <==
Kapil:
apple 4
banana 6
cherry 0
Manoj:
apple 13
banana
cherry 2

==> expected-output.txt <==
         apple banana cherry
Kapil:    4       6      0
Manoj:    13             2

-----
 Results:
 db,  Section 2: solution.
	apple	banana	cherry
Kapil:	 4	 6	 0
Manoj:	 13		 2

-----
 Comparison of 3 created lines with 3 lines of desired results:
 db,  Section 3: validate generated calculations with desired results.

-----
 Comparison with desired results:
expected-output.txt f1 differ: char 1, line 1
 Failed -- files not identical -- detailed comparison follows.
 Succeeded by ignoring whitespace differences.

See man pages and the perl script align at the link in the script.

Best wishes ... cheers, drB
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

converting a tabular format data to comma seperated data in KSH

Hi, Could anyone help me in changing a tabular format output to comma seperated file pls in K-sh. Its very urgent. E.g : username empid ------------------------ sri 123 to username,empid sri,123 Thanks, Hema:confused: (2 Replies)
Discussion started by: Hemamalini
2 Replies

2. UNIX for Dummies Questions & Answers

How to read tabular data?

Hello, I have a log file which contains data in tabular format(3 columns(total, posted, rejected) and 2 rows(close, total)) as below. TOTAL POSTED REJECTED CLOSE 3 3 0 TOTAL 3 3 0 I have to search for all Total... (1 Reply)
Discussion started by: akash028
1 Replies

3. Shell Programming and Scripting

Tabular form in shell script

hi, I need to mention the data in tabular form in shell script. :confused: Input as below: Health check (heading1) CPU/Memory Utilization of pc on server (h2) 1214 of rpc3 is exceeds 0.3 % (data) CPU Utilization is normal for rpc/33 on 2673 CPU Utilization is normal for rpc/33 on... (2 Replies)
Discussion started by: sreelu
2 Replies

4. UNIX for Dummies Questions & Answers

Put data in tabular form..

Dear Friends, I have a file as under : +++ ME 12-06-13 18:16:20 A RED FEW AND ROW1 1MN FEL AS HI FI BV LR TS HR ES MR * 0 13296 0 120 1 15 KS RR 10 0 +++ ME 12-06-13 18:26:20 A RED FEW AND ROW2 1MN FEL AS... (2 Replies)
Discussion started by: vanand420
2 Replies

5. Shell Programming and Scripting

Transpose Data form Different form

HI Guys, I have data in File A.txt RL03 RL03_A_1 RL03_B_1 RL03_C_1 RL03 -119.8 -119.5 -119.5 RL07 RL07_A_1 RL07_B_1 RL07_C_1 RL07 -119.3 -119.5 -119.5 RL15 RL15_A_1 RL15_C_1 RL15 -120.5 -119.4 RL16... (2 Replies)
Discussion started by: asavaliya
2 Replies

6. Shell Programming and Scripting

Generate tabular data based on a column value from an existing data file

Hi, I have a data file with : 01/28/2012,1,1,98995 01/28/2012,1,2,7195 01/29/2012,1,1,98995 01/29/2012,1,2,7195 01/30/2012,1,1,98896 01/30/2012,1,2,7083 01/31/2012,1,1,98896 01/31/2012,1,2,7083 02/01/2012,1,1,98896 02/01/2012,1,2,7083 02/02/2012,1,1,98899 02/02/2012,1,2,7083 I... (1 Reply)
Discussion started by: himanish
1 Replies

7. Shell Programming and Scripting

Displaying log file pattern output in tabular form output

Hi All, I have result log file which looks like this (below): from the content need to consolidate the result and put it in tabular form 1). Intercomponents Checking Passed: All Server are passed. ====================================================================== 2). OS version Checking... (9 Replies)
Discussion started by: Optimus81
9 Replies

8. Shell Programming and Scripting

Dispaying output in tabular form

hi, I have a script which is dispaying the output as below: Column 3:value1 Column 4:value 4 column 8:value 8 column 9:value 9 column 13:value 13 Column 3:value10 Column 4:value 40 column 8:value 80 column 9:value 90 column 13:value 103 However,I need the output in tabular... (5 Replies)
Discussion started by: Vivekit82
5 Replies

9. Shell Programming and Scripting

Fetching the required data out of a tabular form

Hello Gurus, I am trying to fetch a required number of lines from an output of a command which is in tabular form. Below is the command for reference along with how the result is being shown on UNIX shell. /usr/openv/volmgr/bin/vmquery -b -p 5 The result of the above command is as... (6 Replies)
Discussion started by: Ali Sarwar
6 Replies

10. Shell Programming and Scripting

Required to get out put of log in tabular format in email body

Dears Please support I have out put in text file and look like below fixed inquiries - Click on MAX suffix http://server:port/app User Details http://server:port/app Audit User Detail Action hhttp://server:port/app fixed inquiries - Click on MAX suffix http://server:port/app User Details ... (13 Replies)
Discussion started by: mirwasim
13 Replies
tee(1)								   User Commands							    tee(1)

NAME
tee - replicate the standard output SYNOPSIS
/usr/bin/tee /usr/bin/tee [-ai] [file]... ksh93 tee [-ail] [file]... DESCRIPTION
/usr/bin/tee /usr/bin/tee copies standard input to standard output, making a copy in zero or more files. tee does not buffer its output. The options determine if the specified files are overwritten or appended to. ksh93 The tee built-in in ksh93 is associated with the /bin and /usr/bin paths. It is invoked when tee is executed without a pathname prefix and the pathname search finds a /bin/tee or /usr/bin/tee executable. tee copies standard input to standard output and to zero or more files. The options determine whether the specified files are overwritten or appended to. The tee utility does not buffer output. If a write to a file fails, tee continues to write to other files although it exits with a non-zero exit status. The number of file operands that can be specified is limited by the underlying operating system. OPTIONS
/usr/bin/tee The following options are supported by /usr/bin/tee: -a Appends the output to the files rather than overwriting them. -i Ignores interrupts. ksh93 The following options are supported by the tee built-in command in ksh93: -a Appends the output to the files rather than overwriting them. --append -i Ignores SIGINT signal. --ignore-interrupts -l Sets the standard output to be line buffered. --line-buffer OPERANDS
The following operands are supported: file A path name of an output file. Processing of at least 13 file operands are supported. USAGE
See largefile(5) for the description of the behavior of tee when encountering files greater than or equal to 2 Gbyte ( 2^31 bytes). ENVIRONMENT VARIABLES
See environ(5) for descriptions of the following environment variables that affect the execution of tee: LANG, LC_ALL, LC_CTYPE, LC_MES- SAGES, and NLSPATH. EXIT STATUS
/usr/bin/tee The following exit values are returned by /usr/bin/tee: 0 The standard input was successfully copied to all output files. >0 The number of files that could not be opened or whose status could not be obtained. ksh93 The following exit values are returned by tee in ksh93: 0 Successful completion. >0 An error occurred. ATTRIBUTES
See attributes(5) for descriptions of the following attributes: /usr/bin/tee +-----------------------------+-----------------------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | +-----------------------------+-----------------------------+ |Availability |SUNWcsu | +-----------------------------+-----------------------------+ |CSI |Enabled | +-----------------------------+-----------------------------+ |Interface Stability |Committed | +-----------------------------+-----------------------------+ |Standard |See standards(5). | +-----------------------------+-----------------------------+ ksh93 +-----------------------------+-----------------------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | +-----------------------------+-----------------------------+ |Availability |SUNWcsu | +-----------------------------+-----------------------------+ |Interface Stability |See below. | +-----------------------------+-----------------------------+ The ksh93 built-in binding to /bin and /usr/bin is Volatile. The built-in interfaces are Uncommitted. SEE ALSO
cat(1), ksh93(1), attributes(5), environ(5), largefile(5), standards(5) SunOS 5.11 20 Nov 2007 tee(1)
All times are GMT -4. The time now is 06:35 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy