awk : dynamic output flatfile filename


 
Thread Tools Search this Thread
# 1  
awk : dynamic output flatfile filename

Hello,

I'm using the awk command to insert empty columns on a tab delimited flatfile - which works fine -
=> But I'm not able to manage dynamicaly the filename of the awk output based on the source flatfile filename

I have 3 source flatfile:
Code:
flatfile_Jan-2016.csv
flatfile_Feb-2016.csv
flatfile_Mar-2016.csv

And I would like to output the result of the awk command to
Code:
newflatfile_Jan-2016.csv
newflatfile_Feb-2016.csv
newflatfile_Mar-2016.csv

Below the awk command which is working for inserting empty columns but I'm not able to manage dynamically the target flatfile filename

Code:
awk -F"\t" '$6="\t" $6' OFS="\t" *flatfile* > flatfile_Jan-2016.dat


Thanks!



Moderator's Comments:
Mod Comment Please use code tags as required by forum rules!

Last edited by RudiC; 06-02-2016 at 01:04 PM.. Reason: Added code tags.
# 2  
Try (untested):
Code:
awk -F"\t" '{$6="\t" $6; print > ("new" FILENAME)' OFS="\t" *flatfile*

# 3  
Quote:
Originally Posted by RudiC
Try (untested):
Code:
awk -F"\t" '{$6="\t" $6; print > ("new" FILENAME)' OFS="\t" *flatfile*

Note that to avoid processing newflatfile_Mon-YEAR.csv files if you run this script multiple times, you probably want to just use flatfile* instead of *flatfile* as the filename matching pattern in your script.
# 4  
thank you all, it is working like a charm!
 

Previous Thread | Next Thread
Thread Tools Search this Thread
Search this Thread:
Advanced Search

10 More Discussions You Might Find Interesting

1. UNIX for Advanced & Expert Users

Problem piping find output to awk, 1st line filename is truncated, other lines are fine.

Today I needed to take a look through a load of large backup files, so I wrote the following line to find them, order them by size, and print the file sizes in GB along with the filename. What happened was odd, the output was all as expected except for the first output line which had the filename... (4 Replies)
Discussion started by: gencon
4 Replies

2. Shell Programming and Scripting

Assign output to dynamic variable

Hi Folks, I am trying to assign a value from the command to a dynamic variable. But I am not getting the desired output.. I am sure something is wrong so i need experts advise. There will be multiple files like /var/tmp/server_1, /var/tmp/server_2, /var/tmp/server_3, having different server... (6 Replies)
Discussion started by: ganga.dharan
6 Replies

3. Shell Programming and Scripting

AWK specific output filename

Hi All, I'd like to create a specific output filename for AWK. The file I am processing with AWK looks like: output_081012.csv* 27*TEXT*1.0*2.0*3.0 where * is my delimeter and the first line of the file is the output filename i'd like to create is there a way to assign an awk... (10 Replies)
Discussion started by: LMSteed
10 Replies

4. Shell Programming and Scripting

sending output to flatfile

Hi, I am writing one unix script to get row count of few tables into one sequential file my script is like this $ORACLE_HOME/bin/sqlplus -s <<EOF >output.txt userid/password@databasename set verify off set heading off set feedback off select count(*) count from tablel where ; select... (4 Replies)
Discussion started by: spmsarada
4 Replies

5. Shell Programming and Scripting

Dynamic output file generation using a input text file with predefined output format

Hi, I have two files , one file with data file with attributes that need to be sent to another file to generate a predefined format. Example: File.txt AP|{SSHA}VEEg42CNCghUnGhCVg== APVG3|{SSHA}XK|"password" AP3|{SSHA}XK|"This is test" .... etc --------- test.sh has... (1 Reply)
Discussion started by: hudson03051nh
1 Replies

6. Shell Programming and Scripting

dynamic output

Hi Guys, i have a input file as below SEL elapsedtime ,StartTime,QueryText FROM dbc.qry WHERE StartTime >= '2010-03-24 20:10:08' AND username ='xxx_yyy_aaa_01' ORDER BY LastRespTime DESC The output needed is just "=" which exist before 'xxx_yyy_aaa_01' ... (12 Replies)
Discussion started by: nitinrp1
12 Replies

7. Shell Programming and Scripting

How to use a dynamic filename with sed?

I have a line that works for static filename cat /directorypath/filename | sed '//d;//d' > filename This approach when used in a script works well. Then i need a list of filenames to give this line. I can get the list into a file by filelist1='ls -m' then use filelist2=${filelist1##ls... (4 Replies)
Discussion started by: ericonanson
4 Replies

8. Shell Programming and Scripting

how to include field in the output filename of awk

Im using awk and I want the output filename to contain the first field of the input file. Ex. 1 dddd wwwww 1 eeeee wwww 1 wwww eerrrr 2 eeee eeeeee I want the output files to be xxx1 and xxx2 Thank you (4 Replies)
Discussion started by: yahyaaa
4 Replies

9. Shell Programming and Scripting

gzcat into awk and then change FILENAME and process new FILENAME

I am trying to write a script that prompts users for date and time, then process the gzip file into awk. During the ksh part of the script another file is created and needs to be processed with a different set of pattern matches then I need to combine the two in the end. I'm stuck at the part... (6 Replies)
Discussion started by: timj123
6 Replies

10. Shell Programming and Scripting

Dynamic filename in awk

Hi The following code seems to work, but why am i getting an error message? cscyabl@comet:(develop)> awk 'BEGIN {FS="|"}{print $2 >> $1}' test.sum awk: A print or getline function must have a file name. The input line number is 8. The file is test.sum. The source line number is 1. ... (2 Replies)
Discussion started by: Indalecio
2 Replies

Featured Tech Videos