Sponsored Content
Top Forums UNIX for Dummies Questions & Answers AWK, extract data from multiple files Post 302457551 by Liverpaul09 on Tuesday 28th of September 2010 09:07:45 AM
Old 09-28-2010
AWK, extract data from multiple files

Hi,
I'm using AWK to try to extract data from multiple files (*.txt). The script should look for a flag that occurs at a specific position in each file and it should return the data to the right of that flag.

I should end up with one line for each file, each containing 3 columns:
Filename1.txt Data1 MoreData1
Filename2.txt Data2 MoreData2
Filename3.txt Data3 MoreData3

The trouble is, my output seems to be as follows:
Filename1.txt
Filename2.txt Data1 MoreData1
Filename3.txt Data2 MoreData2

I'm not sure what I've done wrong because I'm still struggling with the syntax and structure of AWK. Any idea what is wrong?

I'm very new to UNIX, AWK, etc. so simple language would be appreciated (if possibleSmilie).

ThanksSmilie

Here's the code I have, it's in a file called "extract_data_from_files.awk":
Code:
 
#!/usr/bin/awk
BEGIN {
  print "Starting script...";
}
{
  if ( substr($0,2,3) == "UWI") # substr(s, a, b) and returns b number of 
                                # chars from string s, starting at position a.
  {
    well = substr($0,11,20);
    gsub(/^[ \t]+|[ \t]+$/, "", well); #trim spaces
  }
  if ( substr($0,2,3) == "LSR")
  {
    kb = substr($0,11,20);
    gsub(/^[ \t]+|[ \t]+$/, "", kb); #trim spaces
  }
  if ( FNR == 1 || EOF ) #FNR=total lines in each file. EOF=End Of File
  {
      concat = FILENAME "\t\t\t" well "\t\t\t" kb; #no commas needed to separate variables
      print concat;
  }
} 
END {
  print "Ending script...";
}

I run it from the konsole window using:
Code:
 
awk -f extract_data_from_files.awk *.txt

 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

extract multiple cloumns from multiple files; skip rows and include filenames; awk

Hello, I am trying to write a bash shell script that does the following: 1.Finds all *.txt files within my directory of interest 2. reads each of the files (25 files) one by one (tab-delimited format and have the same data format) 3. skips the first 10 rows of the file 4. extracts and... (4 Replies)
Discussion started by: manishabh
4 Replies

2. UNIX for Dummies Questions & Answers

Using AWK: Extract data from multiple files and output to multiple new files

Hi, I'd like to process multiple files. For example: file1.txt file2.txt file3.txt Each file contains several lines of data. I want to extract a piece of data and output it to a new file. file1.txt ----> newfile1.txt file2.txt ----> newfile2.txt file3.txt ----> newfile3.txt Here is... (3 Replies)
Discussion started by: Liverpaul09
3 Replies

3. UNIX for Dummies Questions & Answers

awk, extract last line of multiple files

Hi, I have a directory full of *.txt files. I would like to print the last line of every file to screen. I know you can use FNR for printing the first line of each file, but how do I access the last line of each file? This code doesn't work, it only prints the last line of the last file:BEGIN... (5 Replies)
Discussion started by: Liverpaul09
5 Replies

4. Shell Programming and Scripting

extract data with awk from html files

Hello everyone, I'm new to this forum and i am new as a shell scripter. my problem is to have html files in a directory and I would like to extract from these some data that lies between two different lines Here's my situation <td align="default"> oxidizability (mg / l): data_to_extract... (6 Replies)
Discussion started by: sbobotex
6 Replies

5. Shell Programming and Scripting

Extract data with awk and write to several files

Hi! I have one file with data that looks like this: 1 data data data data 2 data data data data 3 data data data data . . . 1 data data data data 2 data data data data 3 data data data data . . . I would like to have awk to write each block to a separate file, like this: 1... (3 Replies)
Discussion started by: LinWin
3 Replies

6. UNIX for Dummies Questions & Answers

Extract common data out of multiple files

I am trying to extract common list of Organisms from different files For example I took 3 files and showed expected result. In real I have more than 1000 files. I am aware about the useful use of awk and grep but unaware in depth so need guidance regarding it. I want to use awk/ grep/ cut/... (7 Replies)
Discussion started by: macmath
7 Replies

7. Shell Programming and Scripting

awk -- Extract data from html within multiple tags as reference

Hi, I'm trying to get some data from an html file, but the problem is before it can extract the information I have multiple patterns that need to be passed through. https://www.unix.com/shell-programming-scripting/150711-extract-data-awk-html-files.html Is a similar problem. The only... (5 Replies)
Discussion started by: counfhou
5 Replies

8. Shell Programming and Scripting

Extract data in tabular format from multiple files

Hi, I have directory with multiple files from which i need to extract portion of specif lines and insert it in a new file, the new file will contain a separate columns for each file data. Example: I need to extract Value_1 & Value_3 from all files and insert in output file as below: ... (2 Replies)
Discussion started by: belalr
2 Replies

9. Shell Programming and Scripting

awk - Multiple files - 1 file with multi-line data

Greetings experts, Have 2 input files, of which 1 file has 1 record per line; in 2nd file, multiple lines constitute 1 record; Hence declared the RS=";" Now in the first file which ends with ";" at each line of the line; But \nis also being considered as part of the data due to which I am... (1 Reply)
Discussion started by: chill3chee
1 Replies

10. Shell Programming and Scripting

Compare 2 files and extract the data which is present in other file - awk is not working

file2 content f1file2 content f1,1,2,3,4,5 f1,2,4,6,8,10 f10,1,2,3,4,5 f10,2,4,6,8,10 f5,1,2,3,4,5 f5,2,4,6,8,10awk 'FNR==NR{a;next}; !($1 in a)' file2 file1output f10,1,2,3,4,5 f10,2,4,6,8,10 f5,1,2,3,4,5 f5,2,4,6,8,10awk 'FNR==NR{a;next}; ($1 in a)' file2 file1output nothing... (4 Replies)
Discussion started by: gksenthilkumar
4 Replies
innoextract(1)						      General Commands Manual						    innoextract(1)

NAME
innoextract - tool to extract installers created by Inno Setup SYNOPSIS
innoextract [-behlLqstv] [-ccolor] [-pprogress] installers ... DESCRIPTION
innoextract is a tool that can extract installer executables created by Inno Setup. innoextract will extract files from a installers specified on the command line. To extract a multi-part installer with external data files, only the executable (.exe) file needs to be given as an argument to innoex- tract. OPTIONS
-c --color [enable] By default innoextract will try to detect if the terminal supports shell escape codes and enable or disable color output accord- ingly. Pass 1 or true to --color to force color output. Pass 0 or false to never output color codes. --dump Don't convert Windows paths to UNIX paths and don't substitute variables in paths. -e --extract Extract all files to the current directory. This is the default action. You may only specify one of --extract , --list and --test -h --help Show a list of the supported options. --language [lang] Extract only language-independent files and files for the given language. By default all files are extracted. --license Show license information. -l --list List files contained in the installer but don't extract anything. You may only specify one of --extract , --list and --test -L --lowercase Convert filenames stored in the installer to lower-case before extracting. -p --progress [enable] By default innoextract will try to detect if the terminal supports shell escape codes and enable or disable progress bar output accordingly. Pass 1 or true to --progress to force progress bar output. Pass 0 or false to never show a progress bar. -q --quiet Less verbose output. -s --silent Don't output anything except errors and warnings. -t --test Test archive integrity but don't write any output files. You may only specify one of --extract , --list and --test -v --version Show the innoextract version number and supported Inno Setup versions. LIMITATIONS
innoextract currently only supports extracting all the data. There is no support for extracting individual files, components or languages. Included scripts and checks are not executed. Data is always extracted to the current directory and the mapping from Inno Setup variables like the application directory to subdirecto- ries is hard-coded. innoextract does not check if an installer includes multiple files with the same name and will continually overwrite the destination file when extracting. Names for data files in multi-file installers must follow the standard naming scheme. Encrypted installers are not supported. SEE ALSO
cabextract(1), unshield(1) BUGS
No known bugs. AUTHOR
Daniel Scharrer (daniel@constexpr.org) 1.2 2012-04-01 innoextract(1)
All times are GMT -4. The time now is 05:56 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy