Visit Our UNIX and Linux User Community


Multiple file input


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Multiple file input
# 8  
Old 01-15-2014
I just what to use the same file multiple times and write it once.

Example.
Code:
awk 'code' file file file file

This awk reads file 4 times and do some with the data.
I would like
Code:
awk 'code' 4xfile

Write name of file just once, and tell it should be done four times.
# 9  
Old 01-15-2014
You may try something like this

Code:
$ cat test
1
2
3
4
5
6
7

Code:
$ awk 'FNR==NR{print $0;next}{print "yes"$0}' $(seq -s "test " 3 | tr -d '[:digit:]')
1
2
3
4
5
6
7
yes1
yes2
yes3
yes4
yes5
yes6
yes7

Code:
$ awk 'FNR==NR{print $0;next}{print "yes"$0}' $(printf 'test %.0s' {1..2})
1
2
3
4
5
6
7
yes1
yes2
yes3
yes4
yes5
yes6
yes7

# 10  
Old 01-15-2014
Quote:
Originally Posted by Jotne
I just what to use the same file multiple times and write it once.
Ah. Well, awk doesn't work that way, you'll just have to write a loop.

Code:
FILENAME="a"
LOOPS=4
while [ $loops -gt 0 ]
do
        FILES="$FILES $FILENAME"
        let LOOPS=LOOPS-1
done

awk '{...}' $FILES

# 11  
Old 01-15-2014
Ok. I have seen it used, so I have to search.
# 12  
Old 01-15-2014
Quote:
Originally Posted by Jotne
Ok. I have seen it used, so I have to search.
Seen what used? awk really doesn't work that way...

You may have seen an obscure feature of some specific shell, to repeat a string a certain number of times.
# 13  
Old 01-15-2014
Found it after reading some hundreds of post {,}:
Code:
awk 'FNR==NR {a[$1]++;next} ($2 in a) {print $2}' file file

is the same as
Code:
awk 'FNR==NR {a[$1]++;next} ($2 in a) {print $2}' file{,}


Code:
awk 'code' file file file file

is the same as
Code:
awk 'code' file{,,,}

Is this obscure?
# 14  
Old 01-15-2014
It's not an awk feature, try this:

Code:
$ echo file{,,,}
file file file file

$

Yes, it's pretty obscure, and doesn't work in all Bourne shells. Unfortunately it isn't what you asked for either, you wanted to give it a number.

Previous Thread | Next Thread
Test Your Knowledge in Computers #97
Difficulty: Easy
Unix is a multi-user operating system where the same resources can be shared by different users even if they do not have the proper permissions to do so.
True or False?

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Removing multiple lines from input file, if multiple lines match a pattern.

GM, I have an issue at work, which requires a simple solution. But, after multiple attempts, I have not been able to hit on the code needed. I am assuming that sed, awk or even perl could do what I need. I have an application that adds extra blank page feeds, for multiple reports, when... (7 Replies)
Discussion started by: jxfish2
7 Replies

2. Shell Programming and Scripting

Avoid overwriting backup file when multiple entries need to replace in one file input from another

Hello, I have been working on script in which search and replace the multiple pattern. 1. update_params.sh read the multiple pattern from input file ParamMapping.txt(old_entry|New_entry) and passing this values one by one to change_text.sh 2. change_text.sh read... (0 Replies)
Discussion started by: ketanraut
0 Replies

3. Shell Programming and Scripting

Copying a file to multiple other files using a text file as input

Hello, I have a file called COMPLIST as follows that contains 4 digit numbers.0002 0003 0010 0013 0015 0016 0022 0023 0024 0025 0027 0030 0031 0032 0033 0035 0038 0041 (3 Replies)
Discussion started by: sph90457
3 Replies

4. Shell Programming and Scripting

How to ftp multiple files by taking the file name from a input file.

Hi, I'm working on a script which has to copy multiple files from one server to another server. The list of files that are to be copied is present in a file say input.txt. vi input.txt abc.c welcome.c new.c welcome1.c for ftp'ing a single file say 'new.c' the following code... (2 Replies)
Discussion started by: i.srini89
2 Replies

5. Shell Programming and Scripting

Split a file into multiple files based on the input pattern

I have a file with lines something like. ...... 123_start ...... ....... 123_end .... ..... 456_start ...... ..... 456_end .... ..... 789_start .... .... 789_end (6 Replies)
Discussion started by: abinash
6 Replies

6. Shell Programming and Scripting

Create Multiple files by reading a input file and changing the contents

Being new to this area .I have been assigned a task which i am unable to do . Can any one please help me . Hi I have requirement where i have input file XYZ_111_999_YYYYMMDD_1.TXT and with header and series of Numbers and Footer. I want to create a mutiple output files with each file having a... (2 Replies)
Discussion started by: bhargavkr
2 Replies

7. Shell Programming and Scripting

building output file from multiple input files

Hi there, I am trying to figure out a way to combine multiple sources with different data on a single file, and I am trying to find the best way to do it. I have multiple files, let's say A, B, C and D. A has a field in common with B, B has a field in common with C, and C has a field in... (2 Replies)
Discussion started by: ppucci
2 Replies

8. Shell Programming and Scripting

isql input file with multiple sql statements

I've got: isql -U $USERID -S $SERVER -D $DATABASE -i inputfile.sql -o outputfile.txt in inputfile I have: go sql#1 go sql#2 go sql#3 go I also tried without "go" and with";" instead which did not work SQL statements will work if I paste them directly into the script and use EOF ... (0 Replies)
Discussion started by: Cailet
0 Replies

9. Programming

Multiple scanners on same input file using lex/flex

Hi all, I'm working with flex (version 2.5.4a) on GNU/linux. I used it to develop 4 scanner C files for matching different patterns within an input file. But the problem now on my hand is that I need to conditionally combine these. That is in main (placed in a separate C file other than the 4... (5 Replies)
Discussion started by: Rakesh Ranjan
5 Replies

10. Shell Programming and Scripting

Can Xargs execute multiple commands of evry input file

Hello , I am trying to print the footer of evry file in the given directory with xargs command like follows ls -1 | xargs -I {} gzcat {} | tail -1 now problem with this is only last file foooter is getting printed as " | tail -1 " is getting executed for the last file. I know this can... (4 Replies)
Discussion started by: nilesrex
4 Replies

Featured Tech Videos