Read 2 file line by line @ same time


 
Thread Tools Search this Thread
Top Forums UNIX for Beginners Questions & Answers Read 2 file line by line @ same time
# 8  
Old 04-30-2019
A great example was in post #2
Code:
#!/bin/bash
while read col1 <&3 && read col2 <&4
do
        echo "\"$col1\" $col2"
done 3< file1 4< file2

# 9  
Old 04-30-2019
Try also

Code:
paste -d'"" '  /dev/null file1 /dev/null file2 
"abc def ijk ca" abcdefijkca
"def fff ere we" defffferewe

EDIT: or this slight modification of nezabudka's proposal:

Code:
awk '{getline T < "file2"; print DQ $0 DQ, T}' DQ='"' file1
"abc def ijk ca" abcdefijkca
 "def fff ere we" defffferewe


Or your own approach with the correct IFS value:

Code:
paste file1 file2 | while IFS=$'\t' read col1 col2 ; do echo "\"${col1}\" ${col2}"; done
"abc def ijk ca" abcdefijkca
"def fff ere we" defffferewe


Last edited by RudiC; 04-30-2019 at 07:42 AM..
This User Gave Thanks to RudiC For This Post:
# 10  
Old 04-30-2019
Slight modification in MadeInGermany's solution

Code:
$ while read L1 <&3 && read L2 <&4
> do
> echo \"$L1\" $L2
> done 3< file1 4< file2
"abc def ijk ca" abcdefijkca
"def fff ere we" defffferewe
$

# 11  
Old 04-30-2019
Thanks Rudic for your help,now i am getting the desired output but what i am trying to achieve is below
i have to pass col1 and col2 values to keytool command to have it like below

Code:
keytool -export -alias "abc def ijk ca" -file abcdefijkca.der -keystore ts.jks -storepass xxxx
keytool -export -alias "def fff ere we" -file defffferewe.der -keystore ts.jks -storepass xxxx

Tried implement as below

Code:
#!/bin/bash
#set -x
paste file1 file2 | while IFS=$'\t' read col1 col2 ;
do echo "\"${col1}\" ${col2}";
keytool -export -alias "\"${col1}\" -file ${col2}".der -keystore ts.jks -storepass xxxx;
done


but after executing it i am getting below error as < is getting appended to col1 and col2 as below

Code:
"abc def ijk ca" abcdefijkca
Java HotSpot(TM) 64-Bit Server VM warning: PICL (libpicl.so.1) is missing. Performance will not be optimal.
keytool error: java.lang.Exception: Alias <"abc def ijk ca" -file abcdefijkca.der> does not exist
"def fff ere we" defffferewe
Java HotSpot(TM) 64-Bit Server VM warning: PICL (libpicl.so.1) is missing. Performance will not be optimal.
keytool error: java.lang.Exception: Alias <"def fff ere we" -file defffferewe.der> does not exist

Please advise

Moderator's Comments:
Mod Comment
Please wrap all code, files, input & output/errors in CODE tags.
It makes them far easier to read and preserves multiple spaces for indenting or fixed-width data.

Last edited by rbatte1; 04-30-2019 at 01:42 PM..
# 12  
Old 04-30-2019
Check your quoting - you're quoting both col variables plus the -file constant into one argument. Quote them separately.
# 13  
Old 04-30-2019
Omit the explicit \" quotes. I think you had the quotes on the command line, to prevent the shell from word-splitting (each word becomes an argument).
And, since you are going to use a while loop, prefer the builtin read command.
Code:
while read col1 <&3 && read col2 <&4; do
    keytool -export -alias "$col1" -file "$col2".der -keystore ts.jks -storepass xxxx
done 3< file1 4< file2

# 14  
Old 05-02-2019
Thanks , this worked like a charm Smilie
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

How to read file line by line and compare subset of 1st line with 2nd?

Hi all, I have a log file say Test.log that gets updated continuously and it has data in pipe separated format. A sample log file would look like: <date1>|<data1>|<url1>|<result1> <date2>|<data2>|<url2>|<result2> <date3>|<data3>|<url3>|<result3> <date4>|<data4>|<url4>|<result4> What I... (3 Replies)
Discussion started by: pat_pramod
3 Replies

2. Shell Programming and Scripting

Bash script to read a file from particular line till required line and process

Hi All, Am trying to write wrapper shell/bash script on a utility tool for which i need to pass 2 files as arugment to execute utility tool. Wraper script am trying is to do with above metion 2 files. utility tool accepts : a. userinfo file : which contains username b. item file : which... (2 Replies)
Discussion started by: Optimus81
2 Replies

3. Shell Programming and Scripting

Need a program that read a file line by line and prints out lines 1, 2 & 3 after an empty line...

Hello, I need a program that read a file line by line and prints out lines 1, 2 & 3 after an empty line... An example of entries in the file would be: SRVXPAPI001 ERRO JUN24 07:28:34 1775 REASON= 0000, PROCID= #E506 #1065: TPCIPPR, INDEX= 003F ... (8 Replies)
Discussion started by: Ferocci
8 Replies

4. Shell Programming and Scripting

how to read the contents of two files line by line and compare the line by line?

Hi All, I'm trying to figure out which are the trusted-ips and which are not using a script file.. I have a file named 'ip-list.txt' which contains some ip addresses and another file named 'trusted-ip-list.txt' which also contains some ip addresses. I want to read a line from... (4 Replies)
Discussion started by: mjavalkar
4 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

Read file line by line and process the line to generate another file

Hi, i have file which contains data as below(Only sample shown, it may contain more data similar to the one shown here) i need to read this file line by line and generate an output file like the one below i.e based on N value the number of MSISDNs will vary, if N=1 then the following... (14 Replies)
Discussion started by: aemunathan
14 Replies

7. Shell Programming and Scripting

bash: read file line by line (lines have '\0') - not full line has read???

I am using the while-loop to read a file. The file has lines with null-terminated strings (words, actually.) What I have by that reading - just a first word up to '\0'! I need to have whole string up to 'new line' - (LF, 10#10, 16#A) What I am doing wrong? #make file 'grb' with... (6 Replies)
Discussion started by: alex_5161
6 Replies

8. UNIX for Advanced & Expert Users

how do you parse 1 line at a time of file1 ie. line(n) each line into new file

File 1 <html>ta da....unique file name I want to give file=>343...</html> <html>da ta 234 </html> <html>pa da 542 </html> and so on... File 2 343 234 542 and so on, each line in File 1 one also corresponds with each line in File 2 I have tried several grep, sed, while .. read, do,... (4 Replies)
Discussion started by: web_developer
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

How to read/process a .gz file, one line at a time?

Hello I'm stuck trying to solve this KSH issue and I'm hoping someone out there can offer some suggestions. I want to read lots of large .gz files one line at a time in order to compare its Error entries with a list of known errors. I can't simply do "foreach ERROR do gzcat *.gz |grep... (2 Replies)
Discussion started by: dayscripter
2 Replies
Login or Register to Ask a Question