Help with Aligning the content of a txt file


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers Help with Aligning the content of a txt file
# 8  
Old 06-06-2012
@sdf
I need the counter to be reseted when starting of every line..I mean the output line
This script is working fine , but still
it add empty spaces before each word according to the max length
But we need to add the empty space followed by the word in the file

Are there several files and for every file the longest word shall be the measure for the field length?

@sdf
yes

Last edited by rajmohan146; 06-06-2012 at 04:03 AM..
# 9  
Old 06-06-2012
Then how does the input look like?

Like this?

Input:
Code:
TEST WELCOME HI HELLO UNIX SHELL SCRIPTING 
SCRIPTING SHELL UNIX HELLO HI WELCOME TEST

Desired output:
Code:
TEST      ,WELCOME   ,HI        ,HELLO     ,UNIX      ,SHELL     ,SCRIPTING 
SCRIPTING ,SHELL     ,UNIX      ,HELLO     ,HI        ,WELCOME   ,TEST

# 10  
Old 06-06-2012
@sdf

The input look like
Code:
TEST
WELCOME
HELLO
HI
SHELL
SCRIPTING

the output is same as you mentioned
# 11  
Old 06-07-2012
Is this what you need?

Code:
awk '{NR>1 && FNR==1 ? a[i++]="\n" $0 : a[i++]=$0}{ if(length($0) > l) l=length($0)+1} END{ for(j=1;j<=i;j++) printf("%-"(l+1)"s,",a[j-1])}' infiles* >outfile

# 12  
Old 06-09-2012
@sdf
Still its not aligning as we expected
your awk statement displaying the output as below
Code:
TESING   HELLO    HI           SHELL  
    SCRIPTING    WELCOME   TESTING  
            HELLO            HI

# 13  
Old 06-13-2012
Can anybody help fixing this issue?
# 14  
Old 06-13-2012
Quote:
Originally Posted by rajmohan146
Can anybody help fixing this issue?
OK I have another try. Its getting more and more difficult. I checked it with several files and this script and it should work

Code:
awk -f transpose_adjust_field.awk infiles* >outfile

transpose_adjust_field.awk
Code:
{ NR>1 && FNR==1 ? l=length($0) && a[i++]= "\n" $0 : a[i++]=$0 }
{if(NR>1 && FNR==1) for(e=(i-c);e<=(i-1);e++) b[e]=d ;c=FNR; d=l }
{ if( length($0) > l) l=length($0)+1 } 
END{for(e=(i-c+1);e<=i;e++) b[e]=d; for(j=1;j<=i;j++) printf("%-"b[j]"s,",a[j-1] )}

 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Copy the content from txt file and create a html file

I have a txt file with a list of error messages in a xml tag format, and each error message is separated with a identifier(endresult).Need to split that and copy and create a new html file.Error message has some special character. how to escape the special character and insert my data into the... (7 Replies)
Discussion started by: DevAakash
7 Replies

2. Shell Programming and Scripting

Aligning a file

I have a large text file in following format cat input.txt abc qwert qwer afweferf wdfwefwe ==> kjhjkwdd mnmn ==> jkjkjwekj poiu ==> lklklke tytyutut ==> olkjmnsmn I need to align those lines with the characters " ==>" . I dont want to disturb the lines which dont have "==>". The... (6 Replies)
Discussion started by: ctrld
6 Replies

3. Shell Programming and Scripting

Reset different and multiple .txt file content to 0

I need help. I have to create a cron job that will reset the value of different and multiple .txt file to 0. Example: Actual 172_21.txt = 25 192_101.txt = 10 192_168.txt = 5 10_10.txt = 3 After the cron job 172_21.txt = 0 192_101.txt = 0 192_168.txt = 0 10_10.txt = 0 The cron... (2 Replies)
Discussion started by: jasperux
2 Replies

4. Shell Programming and Scripting

Aligning columns in a text file using Perl

Hi All, I am new to perl and was trying to write a simple program which will generate a text file as output.. now the output which i am getting is something like this.. ================================================================================================== Col1 ... (8 Replies)
Discussion started by: smarty86
8 Replies

5. Shell Programming and Scripting

Aligning numbers in the second file based on first file

Hi All, I have two sets of files with names .dat and .txt. The number of files is really large more than 90000. The files have names like 1.dat, 2.dat,3.dat and so on where as txt files have names like 1.txt, 2.txt, 3.txt and so on The DAT and TXT files are equal in number. About 90000 each ... (4 Replies)
Discussion started by: shoaibjameel123
4 Replies

6. UNIX for Dummies Questions & Answers

sed insert content of file.txt to multi files

Ive this sed & find command find /home/www/ -name footer.php -exec sed -i 's/<\/body>/file.txt\n<\/body>/' what I need to place content of file.txt before </body> in all footer.php files file.txt content is google analytic script which is like 7 lines any help to adjust my command to... (2 Replies)
Discussion started by: xmoe
2 Replies

7. Shell Programming and Scripting

how to create file.txt and add current date in file content

Hey guy, how to make bash script to create foo.txt file and add current date into file content and that file always append. example: today the script run and add today date into content foo.txt and tomorrow the script will run and add tomorrow date in content foo.txt without remove today... (3 Replies)
Discussion started by: chenboly
3 Replies

8. Shell Programming and Scripting

Extract content from several txt-files

Hi! Im trying to write a script in ksh that creates a single txt-file from specific content in several other txt-files. From these files I want to extract all text after 'WORD' and before '=', regardless of number of lines and other content. I have tried cat and guess I need... (7 Replies)
Discussion started by: larsu
7 Replies

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

10. UNIX for Dummies Questions & Answers

grep/cat/more -- search in a txt file and display content from a specific "keyword"

Hi, I have a .txt file Sample: ===================== NEXT HOST ===================== AEADBAS001 ip access-list extended BLA_Incoming_Filter ip access-list extended BLA_Outgoing_Filter access-list 1 permit xxxxxxxxxxxxxx access-list 2 permit xxxxxxxxxxxxxx =====================... (4 Replies)
Discussion started by: I-1
4 Replies
Login or Register to Ask a Question