04-13-2011
Extract variables from filenames and output to file
I need some help. I have a list of files (thousands) and would like to extract some variables from the file name and save that to a file
The list of files look like:
Quote:
e20012110129_xform_azisum_mlt_2.25_0.50.txt
e20012130535_xform_azisum_mlt_2.25_0.50.txt
e20012160231_xform_azisum_mlt_2.25_0.50.txt
e20012210636_xform_azisum_mlt_2.25_0.50.txt
e20012230332_xform_azisum_mlt_2.25_0.50.txt
e20012240738_xform_azisum_mlt_2.25_0.50.txt
e20012270434_xform_azisum_mlt_2.25_0.50.txt
e20012320839_xform_azisum_mlt_2.25_0.50.txt
I am trying to write the following script but I am stuck at how I can get thevariables 'doy' and 'yr' from each file and then combine into one file with two columns "yr doy' then write that to a file
Quote:
#! /bin/bash
# if there's an error, using a number greater than 0 will exit with that
# number
EXIT_ON_ERROR=1
IFS=$'\n'
dirctry=~/Research/selected
cd $dirctry/
# process the rest of files
ls *.txt | sort -rn > imputFiles.dat
while read fliz ; do
if [ -e "$filz" ] ; then
# Extract a part of the filename for naming the output file
filenme=$filz
doy=`echo ${filenme:5:3}`
yr=`echo ${filenme:1:4}`
hr=`echo ${filenme:8:2}`
min=`echo ${filenme:10:2}`
# I need to get "yr" and "doy" for each file combine into one file with two columns
and output that to a file like shown below
else
echo "ERROR: Couldn't open file '$filz'" >&2
if [ $EXIT_ON_ERROR -gt 0 ] ; then
exit $EXIT_ON_ERROR
fi
fi
done < imputFiles.dat
And the required output is
Quote:
2001 211
2001 213
2001 216
2001 221
2001 223
2001 224
2001 227
2001 232
Please any help and ideas will be highly appreciated
Thank you
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
Hi! I'm somewhat new to Unix (I use it to fiddle, but not seriously), and at my work I have come to use it quite a bit. My question is this:
I want to create a script to take the tedium out of repetitious tasks. However, I need to pass a file name into the script in order for it to work.
... (5 Replies)
Discussion started by: MrToast
5 Replies
2. Shell Programming and Scripting
I have filenames
filenameA_fg_MMDDYY.tar.gz
filenameASPQ_fg_MMDDYY.tar.gz
filenameAFTOPHYYINGH_fg_MMDDYY.tar.gz
filenameAGHYSW_fg_MMDDYY.tar.gz
Is there a way I can extract the date out of these filenames?
Thanks in advance (2 Replies)
Discussion started by: RubinPat
2 Replies
3. Shell Programming and Scripting
Hi all,
I'm using awk in a .ksh script to split one file by line prefix into different files (up to 4). The files are named after the prefix in the line, and a sequence no.
Is there any way to get the filenames in to variables too? I need _ftpfile1, _ftpfile2, _ftpfile3 and _ftpfile4 which are... (2 Replies)
Discussion started by: spidermike
2 Replies
4. Shell Programming and Scripting
Hi Folks,
I've searched for this for quite a while, but can't find any solution - hope someone can help.
I have various files with standard headers. eg.
<HEADER>
IP: 1.2.3.4
Username: Joe
Time: 12:00:00
Date: 23/05/2010
</HEADER>
This
is
a
test
and this part can be any size... (6 Replies)
Discussion started by: damoske
6 Replies
5. Shell Programming and Scripting
Greetings.
I am trying to do a script that will do some file copying for me. Unfortunately I have spaces in the directory names (which I cannot change) and the result is someone hard to achieve in shell scripts. I have searched everywhere on the web but does not manage to find the answer to... (3 Replies)
Discussion started by: Mr.Glaurung
3 Replies
6. Shell Programming and Scripting
Hi All,
I have a file, let's call it "info.tmp" that contains data like this ..
ABC123456
PCX333445
BCD789833
I need to read "info.tmp" and for each line add strings in a way that the final output is
put /logs/ua/dummy.trigger 'AAA00001.FTP.XXX.BLA03A01.xxxxxx(+1)'
where XXX... (5 Replies)
Discussion started by: Andy_ARG
5 Replies
7. Shell Programming and Scripting
Hi Unix Gurus,
In a script, I am trying to extract unique text from a set of filenames.
I have certain files like below in a directory:
OPEN_INV_01012011.xls
OPEN_INV_01022011.xls
OPEN_INV_01032011.xls
CLOSE_INV_01012011.xls
CLOSE_INV_01022011.xls
I need to extract just "OPEN_INV_" ... (4 Replies)
Discussion started by: shankar1dada
4 Replies
8. UNIX for Dummies Questions & Answers
Hello All,
Here is seeking a bit of help in trying to solve a problem.
I am required to create a csv file as shown below:
output.csv ->
output_1,output_2,output_3,...,output_<N>
filename1:20,filename2:30,filename3:30,...,filename<N>:30
by listing output_1, output_2,... , output<N> as... (3 Replies)
Discussion started by: vkumbhakarna
3 Replies
9. Shell Programming and Scripting
I've got a file that looks like this (spaces before first entries intentional):
12345650-000005000GL140227 ANNUAL HELC FEE EN
22345650-000005000GL140227 ANNUAL HELC FEE EN
32345650-000005000GL140227 ANNUAL HELC FEE EN
I want to read through the file line by line,... (6 Replies)
Discussion started by: Scottie1954
6 Replies
10. UNIX for Beginners Questions & Answers
Hi All
I have 2 file . I need match the files based on key and then form a third file which have the matching values
FILE1:
10264;K*AD
10265;K*AIR
10266;K*AUTO
10267;K*BABY
10268;K* FOOD
FILE2:
10264;1055.83
10265;716.94
10267;331.80
10268;23283.33
OUTPUT (Needed)... (2 Replies)
Discussion started by: arunkumar_mca
2 Replies
LEARN ABOUT REDHAT
dos2unix
dos2unix(1) General Commands Manual dos2unix(1)
NAME
dos2unix - DOS/MAC to UNIX text file format converter
SYNOPSYS
dos2unix [options] [-c convmode] [-o file ...] [-n infile outfile ...]
Options:
[-hkqV] [--help] [--keepdate] [--quiet] [--version]
DESCRIPTION
This manual page documents dos2unix, the program that converts plain text files in DOS/MAC format to UNIX format.
OPTIONS
The following options are available:
-h --help
Print online help.
-k --keepdate
Keep the date stamp of output file same as input file.
-q --quiet
Quiet mode. Suppress all warning and messages.
-V --version
Prints version information.
-c --convmode convmode
Sets conversion mode. Simulates dos2unix under SunOS.
-o --oldfile file ...
Old file mode. Convert the file and write output to it. The program default to run in this mode. Wildcard names may be used.
-n --newfile infile outfile ...
New file mode. Convert the infile and write output to outfile. File names must be given in pairs and wildcard names should NOT be
used or you WILL lost your files.
EXAMPLES
Get input from stdin and write output to stdout.
dos2unix
Convert and replace a.txt. Convert and replace b.txt.
dos2unix a.txt b.txt
dos2unix -o a.txt b.txt
Convert and replace a.txt in ASCII conversion mode. Convert and replace b.txt in ISO conversion mode. Convert c.txt from Mac to Unix
ascii format.
dos2unix a.txt -c iso b.txt
dos2unix -c ascii a.txt -c iso b.txt
dos2unix -c mac a.txt b.txt
Convert and replace a.txt while keeping original date stamp.
dos2unix -k a.txt
dos2unix -k -o a.txt
Convert a.txt and write to e.txt.
dos2unix -n a.txt e.txt
Convert a.txt and write to e.txt, keep date stamp of e.txt same as a.txt.
dos2unix -k -n a.txt e.txt
Convert and replace a.txt. Convert b.txt and write to e.txt.
dos2unix a.txt -n b.txt e.txt
dos2unix -o a.txt -n b.txt e.txt
Convert c.txt and write to e.txt. Convert and replace a.txt. Convert and replace b.txt. Convert d.txt and write to f.txt.
dos2unix -n c.txt e.txt -o a.txt b.txt -n d.txt f.txt
DIAGNOSTICS
BUGS
The program does not work properly under MSDOS in stdio processing mode. If you know why is that so, please tell me.
AUTHORS
Benjamin Lin - <blin@socs.uts.edu.au>
Bernd Johannes Wuebben (mac2unix mode) <wuebben@kde.org>
MISCELLANY
Tested environment:
Linux 1.2.0 with GNU C 2.5.8
SunOS 4.1.3 with GNU C 2.6.3
MS-DOS 6.20 with Borland C++ 4.02
Suggestions and bug reports are welcome.
SEE ALSO
unix2dos(1) mac2unix(1)
1995.03.31 dos2unix v3.0 dos2unix(1)