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
tracker-extract(1)						   User Commands						tracker-extract(1)

NAME
tracker-extract - Extract metadata from a file. SYNOPSYS
tracker-extract [OPTION...] FILE... DESCRIPTION
tracker-extract reads the file and mimetype provided in stdin and extract the metadata from this file; then it displays the metadata on the standard output. NOTE: If a FILE is not provided then tracker-extract will run for 30 seconds waiting for DBus calls before quitting. OPTIONS
-?, --help Show summary of options. -v, --verbosity=N Set verbosity to N. This overrides the config value. Values include 0=errors, 1=minimal, 2=detailed and 3=debug. -f, --file=FILE The FILE to extract metadata from. The FILE argument can be either a local path or a URI. It also does not have to be an absolute path. -m, --mime=MIME The MIME type to use for the file. If one is not provided, it will be guessed automatically. -d, --disable-shutdown Disable shutting down after 30 seconds of inactivity. -i, --force-internal-extractors Use this option to force internal extractors over 3rd parties like libstreamanalyzer. -m, --force-module=MODULE Force a particular module to be used. This is here as a convenience for developers wanting to test their MODULE file. Only the MOD- ULE name has to be specified, not the full path. Typically, a MODULE is installed to /usr/lib/tracker-0.7/extract-modules/. This option can be used with or without the .so part of the name too, for example, you can use --force-module=foo Modules are shared objects which are dynamically loaded at run time. These files must have the .so suffix to be loaded and must con- tain the correct symbols to be authenticated by tracker-extract. For more information see the libtracker-extract reference documen- tation. -V, --version Show binary version. EXAMPLES
Using command line to extract metadata from a file: $ tracker-extract -v 3 -f /path/to/some/file.mp3 Using a specific module to extract metadata from a file: $ tracker-extract -v 3 -f /path/to/some/file.mp3 -m mymodule ENVIRONMENT
TRACKER_EXTRACTORS_DIR This is the directory which tracker uses to load the shared libraries from (used for extracting metadata for specific file types). These are needed on each invocation of tracker-store. If unset it will default to the correct place. This is used mainly for testing purposes. The default location is /usr/lib/tracker-0.10/extract-modules/. TRACKER_EXTRACTOR_RULES_DIR This is the directory which tracker uses to load the rules files from. The rules files describe extractor modules and their sup- ported MIME types. The default location is /usr/share/tracker/extract-rules/. TRACKER_USE_CONFIG_FILES Don't use GSettings, instead use a config file similar to how settings were saved in 0.10.x. That is, a file which is much like an .ini file. These are saved to $HOME/.config/tracker/ SEE ALSO
tracker-store(1), tracker-sparql(1), tracker-stats(1), tracker-info(1). /usr/lib/tracker-0.10/extract-modules/ /usr/share/tracker/extract-rules/ GNU
July 2007 tracker-extract(1)
All times are GMT -4. The time now is 02:20 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy