Help in outputting the result in log files

Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Help in outputting the result in log files
# 8  
Old 09-27-2007
awk '{rec=$0;gsub(/"/,"",$1);print rec>("ss"$1".sh")}' FS="," filename

1. rec=$0 - save the current record, before modifying it with gsub (global substitution).

2. gsub(/"/,"",$1) - modify the first field ($1), remove the quotes: "40" becomes 40 and so on.

3. Print the previously saved record in a file named ss $1(from the modified current record, 40, not "40") .sh (you have to quote the literal strings - "ss" and ".sh".

4. FS is Field Separator(,).
# 9  
Old 09-27-2007
# awk -F"\"" '{print $0>"ss"$2".sh"}' "file"
# more ss4*sh
"40","1G1AL55 ",30482,9000
"40","1G1ZT58 ",29098,10600
"40","1G1AL15 ",29222,9400
"46","1G6KD57 ",3083,28400
"46","1G6KD57 ",27909,25200
"49","1G1ZU57 ",16391,13900
"49","1G2ZG58 ",28856,1240

# 10  
Old 09-27-2007
Good catch ghostdog74 Smilie

I would go with:
awk  -F'"' '{print>"ss"$2".sh"}' file

But you still will need parenthesis for some awk implementations.
# 11  
Old 09-27-2007
I mean:
$ nawk -F'"'  '{print>"ss"$2".sh"}' file
nawk: syntax error at source line 1
 context is
         >>> {print>"ss"$2 <<< ".sh"}
nawk: illegal statement at source line 1
$ nawk -F'"' '{print>("ss"$2".sh")}' file

# 12  
Old 09-27-2007
awk -F"\"" '{print $0>"ss"$2".sh"}' "file"

Why you have added "\"" in your code?
# 13  
Old 09-27-2007
Why we are using $2 for file name.Actually it is the first field.Then how it is taking?
# 14  
Old 09-27-2007
radoulov, you have missed "$0" after print, i.e print $0 > ......
and dave_nithis, '\' character is used to override the behavior of shell's meta character like double quotes. The character followed by '\' inside the double quotes will be taken as the character itself.

And awk -F"\"" is equal to awk -F'"' is equal to awk 'BEGIN{FS="\""}' is equal to awk '....' FS="\""

But I have a doubt here, how your script checks whether 40 should go to the "", 46 to the "" and so on. And also the redirection operator is in "overwrite mode", so each time it would clear the file and injects the record afresh, so how here the records are appended correctly? Please correct me, if I am wrong.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Outputting data from log file to report

I have a log file that looks like this. the lines are grouped. 2 lines per entry. M: 2019-01-25 13:02:31.698 P25, received network transmission from KI4EKI to TG 10282 M: 2019-01-25 13:02:35.694 P25, network end of transmission, 4.3 seconds, 1% packet loss M: 2019-01-25 13:02:38.893 P25,... (7 Replies)
Discussion started by: ae4ml
7 Replies

2. Shell Programming and Scripting

Outputting Errors to a Log file

Good Morning, Every so often, I have copy scripts that to don't complete, but I don't immediately know why. It usually ends up being a permissions issue or a length issue. The scripts edit a log file, so I'd like to include any copy errors/issues in that file to check if the copies... (4 Replies)
Discussion started by: Stellaman1977
4 Replies

3. UNIX for Beginners Questions & Answers

Comparing fastq files and outputting common records

Discussion started by: Xterra
3 Replies

4. UNIX for Dummies Questions & Answers

Outputting 1 file per row if pattern exists between files

I have many files that can have various amounts of rows. I essentially want to output each row into a new file if a pattern is matched between two files. I have some code that does something similar but I want it to output every single input row from every file into a separate output file; that... (5 Replies)
Discussion started by: verse123
5 Replies

5. Shell Programming and Scripting

Copying files after result

Hi, I have a shell script #!/bin/sh date echo 'HI PROD' echo $Please ENTER THE INPUT 1 for old files 2 for new file read i if ; then cd /apps/acetp3_logs/prod3/O* pwd echo $PLEASE ENTER THE STRING TO SEARCH (PLEASE ENTER THE STRING INSIDE QUOTES ' ') read j echo... (6 Replies)
Discussion started by: thelakbe
6 Replies

6. UNIX for Dummies Questions & Answers

rm command-outputting files as they are deleted?

Solaris 10/Korn Hi unix experts!, Is it possible to output the actual file names to a file as they are being deleted via the rm command? Context: Im executing the shell script at the command line and directing the output to an output file eg purgescript.ksh > output.lst within the... (3 Replies)
Discussion started by: satnamx
3 Replies

7. Shell Programming and Scripting

write a perl script or kornshell reading a two files and outputting to comma format

Hello Can someone help me to write a perl script or kornshell reading a two files and outputting to comma format. Here is the two files listofdisks.txt id, diskname, diskgroup, diskisze(GB), FC 1, CN34, GRP1, 30, FC_CN34 2, CN67, GRP5, 19, 4, VD1, GRP4, 23, FC_VD1 6, CF_D1, ... (0 Replies)
Discussion started by: deiow
0 Replies

8. Shell Programming and Scripting

Read multiple log files and create output file and put the result

OS : Linux 2.6.9-67 - Red Hat Enterprise Linux ES release 4 Looking for a script that reads the following log files that gets generated everynight between 2 - 5am Master_App_20090717.log Master_App1_20090717.log Master_App2_20090717.log Master_App3_20090717.log... (2 Replies)
Discussion started by: aavam
2 Replies

9. Shell Programming and Scripting

Outputting formatted Result log file from old 30000 lines result log<help required>

Well I have a 3000 lines result log file that contains all the machine data when it does the testing... It has 3 different section that i am intrsted in 1) starting with "20071126 11:11:11 Machine Header 1" 1000 lines... "End machine header 1" 2) starting with "20071126 12:12:12 Machine... (5 Replies)
Discussion started by: vikas.iet
5 Replies

10. Shell Programming and Scripting

Outputting from two input files.

Ok, lets suppose I have two files like so: file1 John 5441223 Sandy 113446 Jill 489799 file2 Sandy Tuesday Jill Friday John Monday Is it possible to match records from these two files and output them into one output file? For example, lets suppose I want to output like this: ... (5 Replies)
Discussion started by: Liguidsoul
5 Replies
Login or Register to Ask a Question