How to Append a Value to each line of the file


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers How to Append a Value to each line of the file
# 1  
Old 03-20-2008
Question How to Append a Value to each line of the file

Hi,

We have Multiple source files which has some data, I need a K shell script which will append number '1' as the last character to all the lines of the first file and then increments the value and appends '2' to all the lines to the next file and so on.

For Example

Incoming file 1

a,aa,aa,a,aa
b,bb,bb,b,bb

Incoming file 2

c,cc,cc,c,cc
d,dd,dd,d,dd

the Output should be

Incoming file 1

a,aa,aa,a,aa,1
b,bb,bb,b,bb,1

Incoming file 2

c,cc,cc,c,cc,2
d,dd,dd,d,dd ,2


Can anyone Plz help me on this.

Thanks
Sunny.
# 2  
Old 03-20-2008
Can you explain what you have so far, and what you're having trouble with? Post your sample script, and we'll see how we can assist.

Regards
# 3  
Old 03-20-2008
I am getting the header and detail records in the same file. they dont have a common key. what i am supposed to do is to break each file depending on a fixed header rows and then load them to a seperate file, But we need a Common key to join them in the ETL so the Number i wanted to append at the end of each record will act as a reference and helps me to do that. I am able to split the File in to 2 parts depending on the no of header records.

but where i am stuck is i have to append a number at the end of each line in a file and that number needs to increment for each file

Below is my code

#Arguments
DIRECTORY=$1
FILE=$2
NO_HEADER=$3

#Validating the Arguments

if [ $# -lt 1 ]
then
echo
echo "\n Error :$0 Usage Input File \n"
echo
exit 1

# splits up the Header File

head -$NO_HEADER $DIRECTORY/$FILE > $DIRECTORY/${FILE}.head

echo `cat $DIRECTORY/${FILE}.head | awk 'BEGIN {FS = "," } ; { printf ("%s,", $2) }'` > $DIRECTORY/${FILE}.Header

rm -f $DIRECTORY/${FILE}.head

#calculates the remaining records in the File and writes them into the Detail file

NO_TAIL=`expr $NO_LINES - $NO_HEADER`

tail -$NO_TAIL $DIRECTORY/$FILE > $DIRECTORY/${FILE}.detail

Please help
# 4  
Old 03-20-2008
Hammer & Screwdriver to put something to the end of every line

assuming that you have already done a
var_dat="1" or whatever logic you desire

>sed "s/$/$var_dat/" sample.txt >output.txt

this will put the value of $var_dat at the end of every line of sample.txt, creating a new file output.txt
# 5  
Old 03-20-2008
This will work if i am working with a single file, But i have multiple files and the variable value should increment for each file isn't it?
# 6  
Old 03-20-2008
Try this if awk is allowed, it creats the files "newfile.1", "newfile.2", "newfile.3" and so on.

Code:
awk '
!infile{infile=FILENAME;nr=1}
infile!=FILENAME{infile=FILENAME;close("newfile."nr);nr++}
{print $0","nr >> "newfile."nr}
' file1 file2 file3

Regards
# 7  
Old 03-20-2008
Awk is allowed But i need to read from multiple files append each line of file with a Number and then write those record to a file, what you gave is writes to a multiple files
 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Append file name to the beginning of each line

I want to append file names at the beginning of a line for each row file content abc.txt.gz 123|654|987 bcd.txt.gz 876|trf|kjh I want a single output file with below format abc.txt.gz|123|654|987 bcd.txt.gz|876|trf|kjh This one is working but only with unzip files,need to have... (3 Replies)
Discussion started by: rakesh5300
3 Replies

2. Shell Programming and Scripting

conditional append one line in file.

Hi, Unix gurus, I have a requirement as following: checking existing file, if the file only contain one line. then append "No data" else keep existing file as is. can i achieve this by in command line without write a script. :wall: Thanks in advance. (4 Replies)
Discussion started by: ken002
4 Replies

3. Shell Programming and Scripting

Append string to first line of a file

Hi, Please suggest me to write unix command, HEADER20110101 string append to first line of a file.. Regards Akshu (3 Replies)
Discussion started by: akshu.agni
3 Replies

4. Shell Programming and Scripting

How to append text to the second line of a file

Say I have a text file like: 1 3 4 How would I use ksh to put the number '2' into the second line of that file? I'm using OpenBSD so the sed syntax might be a bit different (I have no idea how to use sed, though) (4 Replies)
Discussion started by: guitarscn
4 Replies

5. Shell Programming and Scripting

Append to exisiting file on same line.

File Format ABC|ABC|ABC| need to add another text after last | which would a unix command output. ---------- Post updated at 02:05 PM ---------- Previous update was at 01:45 PM ---------- wc -l file| awk '{print $1}' | sed 's/$//' >> existingfile It still adds to new line (4 Replies)
Discussion started by: dinjo_jo
4 Replies

6. Shell Programming and Scripting

append a line into a file in the top

hi, My code is #!/bin/sh echo "\n\nPlease enter the month of the year(YYYYMM) : \c" read date_rep INPUT_L9_FILE=L9_Recharge_Description_EOM_$date_rep.csv #This part is used to summarise Grand_Total, Balance_Total of file L9_Recharge_Description_EOM_${1}.csv. awk -F"," '{if(NR!=1)... (5 Replies)
Discussion started by: madfox
5 Replies

7. 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

8. Shell Programming and Scripting

Append each line to next previous line in a file

Hi all, Please help me in providing sample code to append the following 4 lines in one row. Input : A1/EXT "BAPBSC10/07B/00" 523 090530 0115 RXOCF-430 HY1711 1 EXTERNAL ALARM DOOR ALARM Output should be : A1/EXT "BAPBSC10/07B/00" 523 090530 0115 ... (8 Replies)
Discussion started by: sudhakaryadav
8 Replies

9. Shell Programming and Scripting

how to append line of of data to file

hai..i am new to unix..and i've currently learn shell script.. i have this small problem where i would like to save every data from log file into user directory if the data is equal to the name of the user.. i manage to do that with below script.. i would like to ask if there is any solutions so... (1 Reply)
Discussion started by: meggae
1 Replies

10. UNIX for Dummies Questions & Answers

Large file need to append to each line

I have a few large files that need to have a ,A appended to the end of each record. I though about using sed but never used it before and the man is not intuitive nor have I found examples. This is what I tried for file name bob sed '\a,A' bob from what I get if you do not supply a range... (1 Reply)
Discussion started by: r1500
1 Replies
Login or Register to Ask a Question