Visit Our UNIX and Linux User Community


Shell script UNIX to read text file line by line


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Shell script UNIX to read text file line by line
# 1  
Old 11-05-2017
Shell script UNIX to read text file line by line

i have a text file as belows, it includes 2 columns, 1st is the column name, 2nd is the file_name

data_file.txt

Code:
column_name file_name
col1               file1
col2               file2
col3               file1
col4               file1
col5               file2

now, i would like to output below result to a text file, which returns all the column name by file name as below.

Code:
file_name   column_name
file1           col1,col3,col4
file2           col2,col5

how can i write a shell script to read the data_file.txt line by line and output the result as above by file name.

Last edited by rbatte1; 11-06-2017 at 10:58 AM.. Reason: Changed QUOTE tags to CODE tags
# 2  
Old 11-05-2017
Code:
perl -lane 'if($. == 1){ print "$F[1] $F[0]" and next } push @{$f{$F[1]}}, $F[0]; END{ $"=","; for(sort keys %f){print "$_ @{$f{$_}}"}}' data_file.txt

Code:
file_name column_name
file1 col1,col3,col4
file2 col2,col5

# 3  
Old 11-05-2017
Quote:
Originally Posted by Aia
Code:
perl -lane 'if($. == 1){ print "$F[1] $F[0]" and next } push @{$f{$F[1]}}, $F[0]; END{ $"=","; for(sort keys %f){print "$_ @{$f{$_}}"}}' data_file.txt

Code:
file_name column_name
file1 col1,col3,col4
file2 col2,col5

my data_file is changing.. how can I transform to return file_name per line and concat all the column_name to that file, so that each line has 1 file name.
# 4  
Old 11-05-2017
Quote:
Originally Posted by tester111
my data_file is changing.. how can I transform to return file_name per line and concat all the column_name to that file, so that each line has 1 file name.
I am sorry for not understanding. Is not that what it does, already? Please, post another, more exact, example if that's not what you want.
# 5  
Old 11-05-2017
How about
Code:
{ head -1 ; tail -n+1 |  sort -k2 -k1.1; } < file2 | awk '
$2 != L2        {printf "%c%s ", LF, $2
                 LF = "\n"
                 DL = ""
                 L2 = $2
                }
                {printf "%c%s", DL, $1
                 DL = ","
                }
END             {print ""
                }
'
file_name column_name
file1 col1,col3,col4
file2 col2,col5


Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

How to read a two files, line by line in UNIX script and how to assign shell variable to awk ..?

Input are file and file1 file contains store.bal product.bal category.bal admin.bal file1 contains flip.store.bal ::FFFF:BADC:CD28,::FFFF:558E:11C5,6,8,2,1,::FFFF:81C8:CA8B,::FFFF:BADC:CD28,1,0,0,0,::FFFF:81C8:11C5,2,1,0,0,::FFFF:81DC:3111,1,0,1,0 store.bal.... (2 Replies)
Discussion started by: veeruasu
2 Replies

2. Shell Programming and Scripting

How to read a file, line by line in UNIX script?

#!/bin/bash file1="yxd" for file in `cat file3.txt`; do cat $file1 | awk '{split($1,dp,"."); lend=length(dp); if(lend>2) { dom=dp"."dp; split($2,ipl,","); for(i=1; i<=length(ipl); i++) { if(ipl~/:/) { if(ipl~/:/) i++; rip=ipl; i++; raq=ipl; rtq=0; si=i+4; for(;i<si;i++) rtq+=ipl; rsub="";... (2 Replies)
Discussion started by: veeruasu
2 Replies

3. Shell Programming and Scripting

HELP: Shell Script to read a Log file line by line and extract Info based on KEYWORDS matching

I have a LOG file which looks like this Import started at: Mon Jul 23 02:13:01 EDT 2012 Initialization completed in 2.146 seconds. -------------------------------------------------------------------------------- -- Import summary for Import item: PolicyInformation... (8 Replies)
Discussion started by: biztank
8 Replies

4. Shell Programming and Scripting

Shell script to read multiple options from file, line by line

Hi all I have spent half a day trying to create a shell script which reads a configuration file on a line by line basis. The idea of the file is that each will contain server information, such as IP address and various port numbers. The line could also be blank (The file is user created). Here... (1 Reply)
Discussion started by: haggismn
1 Replies

5. Shell Programming and Scripting

Shell script to read a text file line by line & process it...

Hi , I am trying to write an shell, which reads a text file (from a location) having a list of numbers of strictly 5 digits only ex: 33144 Now my script will check : 1) that each entry is only 5 digits & numeric only, no alphabets, & its not empty. 2)then it executes a shell script called... (8 Replies)
Discussion started by: new_to_shell
8 Replies

6. Shell Programming and Scripting

get the fifth line of a text file into a shell script and trim the line to extract a WORD

FOLKS , i have a text file that is generated automatically of an another korn shell script, i want to bring in the fifth line of the text file in to my korn shell script and look for a particular word in the line . Can you all share some thoughts on this one. thanks... Venu (3 Replies)
Discussion started by: venu
3 Replies

7. Shell Programming and Scripting

how can u read a file line by line in shell script ?

hello , plz help for below script req:- how can we read a file line by line in shell script ? (4 Replies)
Discussion started by: abhigrkist
4 Replies

8. UNIX for Dummies Questions & Answers

shell script to read file line by line

Hi, I need to read a text file from shell script line by line and copy the feilds of each line. Below is the complete requirement. I've text file which contains ... pgm1 file11 file12 file13 pgm2 file21 file22 pgm3 file31 file32 file33 I'll give input as... (4 Replies)
Discussion started by: ani12345
4 Replies

9. Shell Programming and Scripting

shell script to read a line in gps receiver log file and append that line to new file

Hi, I have gps receiver log..its giving readings .like below Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. GPSD,R=1 $GPGSV,3,1,11,08,16,328,40,11,36,127,00,28,33,283,39,20,11,165,00*71... (3 Replies)
Discussion started by: gudivada213
3 Replies

10. Shell Programming and Scripting

Script does not read the last line of text file

Hello, I have got a script that reads a text file, and have got three problems that I an struggling with. 1. The script does not read the last line in the text file 2. within the second 'elif' within the script I included a 'break' - the script runs successfully (except for the first... (2 Replies)
Discussion started by: jermaine4ever
2 Replies

Featured Tech Videos