Hi guys.
I'm new to Bash Programming.
I've a little problem here.
I have a text file, lets say data.txt, with the data:
Code:
John Tan:Male:20:Singapore
Mary:Female:23:Malaysia
Abdul Rahman Bin Ali:Male:30:India
(: is the delimiter)
I want to display it like this:
Code:
Name Gender Age Country
John Tan Male 20 Singapore
Mary Female 23 Malaysia
Abdul Rahman Bin Ali Male 30 India
I tried using cat data.txt | tr ":" "\t" , but the problem with that is when the name is too long, the formatting will be messed up. (like above)
How can I display the output nicely formatted, like as if they are in a table?
Can I do this using sed command?
Thanks in advance!
Last edited by Franklin52; 01-10-2011 at 10:27 AM..
Reason: Please use code tags
while IFS=: read name age gender country
do
printf "%-25s %-6s %3d %s\n" "$name" "$age" "$gender" "$country"
done < infile
hey thanks alot for your help!! I've been struggling with this the whole day and can't get it out. Really appreciate your help.
It appears the way I wanted it to.
I have another question:
What if I have this data in my text file:
(like wise, : as delimiter. Product:Price:QtySold)
Chocolate:2.50:3
How can I display the data called TotalSales? (not in the file, but self declared)
for the chocolate example, expr 2.50 * 3, gives me 7.50
I want to display:
Thanks again!
It appears that the problem is with Floating Point.
I tried changing the text data to numbers without decimal and it works fine.
I'm restricted to using BASH only. Is there a way to do it?
Below is the out put of the decrypt command.
Decrypt Command:
/usr/bin/gpg --yes --batch --output file.xml --decrypt file.xml.gpg
Output:
gpg: encrypted with 2048-bit RSA key, ID 96301328, created 2014-04-29
"XYZ <xyz@abc.com>"
gpg: encrypted with 2048-bit ELG-E key, ID ECB614CF,... (5 Replies)
Hi All,
Need your help in resolving the below issue.
I've a file called "data.txt" with the below lines:
TT: <tell://me/sreenivas>
<tell://me/100>
TT: <tell://me/sudheer>
<tell://me/300>
TT: <tell://me/sreenivas>
<tell://me/200>
TT: <tell://me/sudheer>
<tell://me/400>
... (3 Replies)
Hi,
I am trying to use printf command and format certain output in a specific format as under:
While the left side (upto |) of the above format is part of a fixed header function, the right side is where i am expecting data to be printed. However, as seen, Row1 value is reflecting on last... (5 Replies)
I have the output like below:
DEV#: 9 DEVICE NAME: hdisk9 TYPE: 1750500 ALGORITHM: Load Balance
SERIAL: 68173531021
==========================================================================
Path# Adapter/Path Name State Mode Select Errors
0 ... (4 Replies)
I have a file that list information about users and want to format the output into columns using Shell scripting. There are about 50 to 75 users. Example
current file output
fname
lname
address
hiredate
dept
fname
lname
address
hiredate
dept
Desired output
fname ... (4 Replies)
Hi guys,
I need help with formatting the output of a file. Below is the script I use to generate a file called output.xls.
DAY=`TZ=MYT+16 date '+%b'`
DAY1=`TZ=MYT+16 date '+%e'`
ls -ltr /bscswork_bi2/WORK/UMOBILE/IR/IN/ALL/PROCESSED | grep "$DAY $DAY1" | awk '{print $9}' | sort | cut -c3-7... (4 Replies)
Hi, I have a file....
File1:
Num Name ID Place ADDR City Country
1024|Name1|ID1|Street1|ADDR1|Boston|UK
1025|Name2|ID3|Street2|ADDR2|London|USA
The above file is varaiable length file. I have to insert 2 values in every record of the above file.
Output:
... (3 Replies)