how to append spaces(say 10 spaces) at the end of each line based on the length of th


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers how to append spaces(say 10 spaces) at the end of each line based on the length of th
# 1  
Old 04-29-2008
how to append spaces(say 10 spaces) at the end of each line based on the length of th

Hi,
I have a problem where I need to append few spaces(say 10 spaces) for each line in a file whose length is say(100 chars) and others leave as it is.

I tried to find the length of each line and then if the length is say 100 chars then tried to write those lines into another file and use a sed to append spaces to the new file.However the data in each line can have multiple spaces in between and I am losing those extra spaces while copying the line into another file.

For eg:
while read line
a=${#line}
do
if ((a==100))
echo $line >> tempfile
fi
done<sourcefile

The problem with the same code is its suppressing multiple spaces into one space if the line has multiple spaces.

Please help
# 2  
Old 04-29-2008
Try this one in awk, it appends 10 spaces to lines with a length of 100 chars without changing other lines:

Code:
awk 'length==100{print $0 "          ";next}1' file

Regards
# 3  
Old 04-29-2008
Thanks a ton!

It helped..
Thank you once again!
# 4  
Old 01-27-2009
TO append Blank Spaces

Hi ,

i need awk command for which it appends 100 blank spaces for Header (starts wirh H..) and Trailer (starts with T..) in a file.

HODACC(need to add 100 blank spaces here)
D0000...
D0000.....
..
..
T000013(need to add 100 blank spaces here)

thanks...
# 5  
Old 01-27-2009
it sounds like you want a variable length record file turned into a fixed width record file.

Here's a general awk script you might be able to tweak:

awk '{ printf( "%-106.106s\n", $0 ); }' file_in > file_out

You can add search strings so it's more selective, if you need to.
But it won't hurt on records that are already the right length.
# 6  
Old 01-28-2009
thanks for reply.....

I am new to unix....
I require to append 100 spaces(fillers) to header(first line) and 100 space to trailer(last line).
the data in the middle not to be changed.

i do not want variable length record file turned into a fixed width record file. i just need to append 100 fillers in the first line and 100 fillers in last line

sample file:

HODA(need to add 100 fillers(spaces) here)
D0000000000000000000000000000000000
D0000000000000000000000000000000000
T000012(need to add 100 fillers(spaces) here)
# 7  
Old 01-28-2009
Try something like this:

Code:
awk -v n=`wc -l < file` '
BEGIN{s=sprintf("%-100s", "")}
NR==1{$0=$0 s)}
NR==n{$0=$0 s)}
1' file

Regards
 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Removing tab spaces at the end of each line

I have a file which contains the data lines like below.I want to remove the tab spaces at the end of each line.I have tried with the command sed 's/\+$//' file.but it does not work.Can anyone help me on this? 15022 15022 15022 15022 15022 15022 15023 15023 15023 15023 15023 ... (16 Replies)
Discussion started by: am24
16 Replies

2. UNIX Desktop Questions & Answers

To remove the extra spaces at the end of each line in a file

I have a file of about 10k records and eace line is having an extra space of 5 byte at the end.. Iwant to remove the extra spaces at the end of each line.. Can someone please help me out.. I tried using sed command and its not working... can someone please help me out. (3 Replies)
Discussion started by: rammohan
3 Replies

3. Shell Programming and Scripting

Append spaces the rows to make it into a required fixed length file

I want to make a script to read row by row and find its length. If the length is less than my required length then i hav to append spaces to that paritucular row. Each row contains special characters, spaces, etc. For example my file contains , 12345 abcdef 234 abcde 89012 abcdefgh ... (10 Replies)
Discussion started by: Amrutha24
10 Replies

4. Shell Programming and Scripting

append blank spaces at the end of a variable string

Hello, could you please help with this one. I have an input file like this: 123,4567,89000 123456789,9876543,12 and for the output I need strings to be with the fixed length, let's say 15, and if the string is -lt 15 to be populated with blanks at the end until it reach 15, like this: 123 ,4567... (1 Reply)
Discussion started by: apenkov
1 Replies

5. UNIX for Dummies Questions & Answers

I don't want to truncate trailing spaces and ^M at the end of line

I have a script wherein I access each line of the file using a FOR loop and then perform some operations in each line. The problem is each line that gets extracted in FOR loop truncates trailing blank spaces and control characters (^M) that is present at the end of each line. I don't wan this to... (5 Replies)
Discussion started by: Shobana_s
5 Replies

6. Shell Programming and Scripting

append end of line with 8 spaces

child_amt=$amount prev_line="$prev_line $child_amt" i am getting the result like this 21234567890001343 000001004OLFXXX029100020091112 0000060 but i want 8 spaces between the eg: 21234567890001343 000001004OLFXXX029100020091112 0000060 how can i do this in .ksh (1 Reply)
Discussion started by: kshuser
1 Replies

7. Shell Programming and Scripting

append string with spaces to a line

hi i have a file like (every string contains 16 chars) CTL1330000000000 0000 00 008000 0080000000 i need to form a line and write to a file CTL13300000000000000 00008000 0080000000 total chars should be 64 ... (2 Replies)
Discussion started by: Satyak
2 Replies

8. Shell Programming and Scripting

Append Spaces At end of each line Leaving Header and Footer

How to append constant No of spaces suppose 52 at end of each line in a file (xyz) excluding first and last line. Please Help me out for the same. (1 Reply)
Discussion started by: deepam
1 Replies

9. Shell Programming and Scripting

To Trim spaces at the end of line

Hi Friends, Can any one help with this issue: How to trim spaces for each line at the end, Like I have a file in this format. EMP1 SMITH 46373 5 STREET HOWARD 74636 EMP2 JONES 5454 { these are spaces ........} EMP3 SMITH 46373 5 STREET HOWARD 74636 EMP4 JON 2554 { these are... (1 Reply)
Discussion started by: sbasetty
1 Replies

10. Shell Programming and Scripting

Deleting end line spaces for along file

How can i clear all space characteres for a long file at the end of each line? (3 Replies)
Discussion started by: osymad
3 Replies
Login or Register to Ask a Question