help with awk to create report


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting help with awk to create report
# 1  
Old 01-05-2005
help with awk to create report

Hi,

I am trying to create a report using the following syntax:

#!/bin/awk -f
#script name: users_report
BEGIN { FS=":" ; OFS="\t" ; print "User\tGID\tUser Name\tHome Dir\t"
{ print $1 , $3 , $5 , $6 }
END { print "\n End of Report \n" }

$> user_report /etc/passwd

the output of above code is as under:
User GID User Name Home Dir
jbond 500 James Bond /home/sales
pdavid 501 Pierre Davidd /home/Marketing
... so on
END of Report

now trying to change the GID number to group name from /etc/group first filed.

the output should look like this:

User GID User Name Home Dir
jbond SALES James Bond /home/sales
pdavid Market Pierre Davidd /home/Market
... so on
END of Report

Can someone help me complet this code with awk or with any other appropriate command syntax please.

Thanks in advance for your help.

Regards,
Ghazi
# 2  
Old 01-05-2005
Code:
awk 'FS=":" { OFS="\t" } 
BEGIN { print "User\tGID\tUser Name\tHome Dir" }
{ print $1,$3,$5,$6 }
END { print "\n End of the Report \n" }' /etc/passwd

# 3  
Old 01-05-2005
Code:
echo "User\tGID\tUser Name\tHome Dir"
cut -d":" -f 1,3,5,6 /etc/passwd | tr ":" "\t"
echo "\nEnd of the Report \n"

# 4  
Old 01-05-2005
12345

Last edited by druuna; 05-21-2009 at 10:10 AM..
druuna
# 5  
Old 01-05-2005
I'll throw my script into the pot too...

Code:
#!/bin/ksh

printf "%-9s%-20s%-25s%-10s\n" "User" "Group" "Full Name" "Home"
printf "%-9s%-20s%-25s%-10s\n" "----" "-----" "---------" "----"

while read line
do
  gid=`echo $line | awk -F':' '{print $4}'`
  group=`grep ":$gid:" /etc/group | cut -d':' -f 1`
  echo "$line" | awk -vg=$group -vFS=':' '{ printf( "%-9s%-20s%-25s%-10s\n", $1, g, $5, $6 ) }'
done < /etc/passwd

echo "END OF REPORT"

Cheers
ZB
# 6  
Old 01-05-2005
Thank you all. It really helped. It is a wonderful forum.

With best regards,
Ghazi
Smilie
Login or Register to Ask a Question

Previous Thread | Next Thread

9 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Need to create a report using paste or with awk

Input file will be Name: serve1 has disk :Yes dev (8): Name: serve2 has disk :No dev (8): Name: serve3 has disk :No Name: serve4 has disk :Yes dev (8): Need output like that. I was using pate -d, - - - . But that need all the line in same format in this some server it has... (4 Replies)
Discussion started by: ranjancom2000
4 Replies

2. Shell Programming and Scripting

awk to create variables to pass into a bash loop to create a download link

I have created one file that contains all the necessary info in it to create a download link. In each of the lines /results/analysis/output/Home/Auto_user_S5-00580-6-Medexome_67_032/plugin_out/FileExporter_out.67... (8 Replies)
Discussion started by: cmccabe
8 Replies

3. Shell Programming and Scripting

Script to create DHCP report

Hi, In our company, we have been asked to design a script to automate the report of all IP's which are free/used from all the pools in DHCP at any given Amount of time. We have prepare the following script. The problem is when we run the script manually from the command prompt, it brings proper... (1 Reply)
Discussion started by: Crazy_Nix
1 Replies

4. Shell Programming and Scripting

Create a report for client with a text data file

Hi, I am an amateur bash scriptwriter and I need to write a script which creates a report in a formatted, easy to read table-like that is displayed to standard output. The script has to export the followings: Process ID,User Name, Command Name,Priority..... Now I have a file that I can see all... (3 Replies)
Discussion started by: bashily
3 Replies

5. Shell Programming and Scripting

Need to develop a script to create a report reading multiple server logs

I am currently trying to develop a script to connect to mulltiple servers, reading specifc data from log files on the servers and append the data from each file into a single tab delimited row. So, at the end I am planning to have a report with all the extracted data with each row per server. I am... (5 Replies)
Discussion started by: scriptingnewbie
5 Replies

6. Shell Programming and Scripting

Bash: create a report with grep output?

Greetings. I need to generate a simple report via Bash (Korn?) with this raw data Test_Version=V2.5.2 Test_Version=V2.6.3 Test_Version=V2.4.7 Test_Version=V2.5.2 Test_Version=V2.5.2 Test_Version=V2.5.1 Test_Version=V2.5.0 Test_Version=V2.3.9 ... (3 Replies)
Discussion started by: alan
3 Replies

7. Shell Programming and Scripting

How to format or create a matrix report from file

Dear Unix champs, I have a input file as attached, i would like to create an report from the file as below FileType | EQUENS0001 | EQUENS0002 | EQUENS1100 | EQUENS0003 --------+-------------------------------------------------------- Msg No |... (3 Replies)
Discussion started by: manas_ranjan
3 Replies

8. Shell Programming and Scripting

using todays date to create a report using grep

What i'm trying to do is to use grep to search through a few files for a selected daemon and only report on today's date. I think I got it sorted apart from in the txt file the date has 2 gaps between the month and the day, and the way I have the date format only puts in one gap any help to get... (3 Replies)
Discussion started by: MBN
3 Replies

9. Shell Programming and Scripting

create a report using shell

hi suppose I want to create a report where it will shows the machine name, the date & time when the report is produced. can anyone please help me to write such shell script? requesting all. Thanks (10 Replies)
Discussion started by: moco
10 Replies
Login or Register to Ask a Question