awk append fileA.txt to growing file B.txt


Login or Register for Dates, Times and to Reply

 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting awk append fileA.txt to growing file B.txt
# 1  
awk append fileA.txt to growing file B.txt

This is appending a column.
My question is fairly simple. I have a program generating data in a form like so:
Code:
1  20
2  22
3  23
4  12
5  43

For ever iteration I'm generating this data. I have the basic idea with
Code:
cut -f 2 fileA.txt | paste -d  >> FileB.txt ????

I want FileB.txt to grow, and my program automatically generates a new filea.txt after every iteration. Thanks for your help guys!
# 2  
Hi theawknewbie,

I don't understand what you try to achieve. What content will be in fileB?

Regards,
Birei
# 3  
I want FileB to be growing after each iteration.
After 1 iteration, here is FileB:
Code:
1  20
2  22
3  23
4  12
5  43

Second iteration, i cut column 2 from the newly made fileA into FileB:
Code:
1  20  21
2  22  23
3  23  24
4  12  25
5  43  21

And after the third iteration, fileA is again regenerated, i cut column two from it, append to FileB:
Code:
1  20  21  14
 2  22  23  15
 3  23  24  12
 4  12  25  23
 5  43  21  38

etc. etc. My problem is that If i paste the columns, i have to give the file a new name. But I want FileB to maintain the same name, essentially to keep appending and appending to FileB.
# 4  
There will be better ways. With this method, create first fileB. And 'awk' command uses an auxiliar file (fileC in my example). Test it:
Code:
$ ls -1
fileA
$ cat fileA 
1  25
2  27
3  28
4  17
5  48
$ touch fileB
$ ls -1
fileA
fileB
$ awk 'NR == FNR { $1 = ""; sub( /[[:space:]]+/, "", $0 ); fileA[FNR] = $0; next } { print $0 "  " fileA[FNR]; fileB_exists = 1 } END { if ( ! fileB_exists ) { for ( i = 1; i <= length(fileA); i++ ) { print fileA[i] } } } ' fileA fileB >fileC; mv fileC fileB
$ cat fileB
25
27
28
17
48
$ awk 'NR == FNR { $1 = ""; sub( /[[:space:]]+/, "", $0 ); fileA[FNR] = $0; next } { print $0 "  " fileA[FNR]; fileB_exists = 1 } END { if ( ! fileB_exists ) { for ( i = 1; i <= length(fileA); i++ ) { print fileA[i] } } } ' fileA fileB >fileC; mv fileC fileB
$ cat fileB
25  25
27  27
28  28
17  17
48  48

Regards,
Birei
# 5  
Birei,

that is sort of the way I was doing it. But the files I'm dealing with become huge, and it's becoming very slow.

I wonder if there is a way to do it in sed?
Login or Register for Dates, Times and to Reply

Previous Thread | Next Thread
Thread Tools Search this Thread
Search this Thread:
Advanced Search

Test Your Knowledge in Computers #108
Difficulty: Easy
The outer layers of the Linux architecture has the shell, shell commands and application programs.
True or False?

10 More Discussions You Might Find Interesting

1. Programming

[Python] replicating "sha256 -C checksum_file.txt file.txt"

Hello everyone, Since my python knowledge is limimted, I've challenged myself to learn as much as possible to help me with my carrere. I'm currently trying to convert a shell script to python, just to give myself a task. There is one section of the script that I'm having issues converting and... (2 Replies)
Discussion started by: da1
2 Replies

2. Shell Programming and Scripting

Awk, sed, shell all words in INPUT.txt find in column1 of TABLE.txt and replce with column2 in

Hi dears i have text file like this: INPUT.txt 001_1_173 j nuh ]az 001_1_174 j ]esma. nuh ]/.xori . . . and have another text like this TABLE.txt j j nuh word1... (6 Replies)
Discussion started by: alii
6 Replies

3. Shell Programming and Scripting

Desired output.txt for reading txt file using awk?

Dear all, I have a huge txt file (DATA.txt) with the following content . From this txt file, I want the following output using some shell script. Any help is greatly appreciated. Greetings, emily DATA.txt (snippet of the huge text file) 407202849... (2 Replies)
Discussion started by: emily
2 Replies

4. Windows & DOS: Issues & Discussions

2 Questions: replace text in txt file, add text to end of txt file

so... Lets assume I have a text file. The text file contains multiple "#" symbols. I want to replace all thos "#"s with a STRING using DOS/Batch I want to add a certain TEXT to the end of each line. How can I do this WITHOUT aid of sed, grep or anything linux related ? (1 Reply)
Discussion started by: pasc
1 Replies

5. Shell Programming and Scripting

Need to append the date | abcddate.txt to the first line of my txt file

I want to add/append the info in the following format to my.txt file. 20130702|abcd20130702.txt FN|SN|DOB I tried the below script but it throws me some exceptions. <#!/bin/sh dt = date '+%y%m%d'members; echo $dt+|+members+$dt; /usr/bin/awk -f BEGIN { FS="|"; OFS="|"; } { print... (6 Replies)
Discussion started by: harik1982
6 Replies

6. Shell Programming and Scripting

command to list .txt and .TXT file

Hi expersts, in my directory i have *.txt and *.TXT and *.TXT.log, *.txt.log I want list only .txt and .TXT files in one command... how to ?? //purple (1 Reply)
Discussion started by: thepurple
1 Replies

7. Shell Programming and Scripting

AWK CSV to TXT format, TXT file not in a correct column format

HI guys, I have created a script to read 1 column in a csv file and then place it in text file. However, when i checked out the text file, it is not in a column format... Example: CSV file contains name,age aa,11 bb,22 cc,33 After using awk to get first column TXT file... (1 Reply)
Discussion started by: mdap
1 Replies

8. UNIX for Dummies Questions & Answers

Binary txt file received when i use uuencode to send txt file as attachment

Hi, I have already read a lot of posts on sending attachments in unix...but none of them were of help for my problem...so here goes.. i wanna attach a text file and send to a mail id..used the following code : uuencode "$File1" "$File1" ;|mail -s "$Mail_sub" abc@abc.com it works... (2 Replies)
Discussion started by: ash22
2 Replies

9. UNIX for Dummies Questions & Answers

echo "ABC" > file1.txt file2.txt file3.txt

Hi Guru's, I need to create 3 files with the contents "ABC" using single command. Iam using: echo "ABC" > file1.txt file2.txt file3.txt the above command is not working. pls help me... With Regards / Ganapati (4 Replies)
Discussion started by: ganapati
4 Replies

10. Shell Programming and Scripting

Need a script to Append date to generated .txt file

Hi, Can anyone plz share their experience with - Building shell script to append the file with date in following format- Filename_MMDDYYYY.txt Thanks in advance (2 Replies)
Discussion started by: prince_of_focus
2 Replies

Featured Tech Videos