Sponsored Content
Top Forums Shell Programming and Scripting Check whether a given file is in ASCII format and data is tab-delimited Post 302116092 by Mandab on Tuesday 1st of May 2007 06:19:44 PM
Old 05-01-2007
Hi,
I am trying to execute the following script but I am getting error:
My requirement is to check whether the data in the file is tab delimited and pass error as say "105" to var1 and desc as "not tab delimited" to var2 and also check for the data which starts from 3rd line of the file. If the above condition satisfies it should check whether field 1 datatype and length(numeric(9)) are same or not and also whether it is null. If not var1 = "101" and var2 desc "Missing/wrong field1", field 2 datatype and length(char(9)) are same or not also for null. if not then var1 ="102" var2 "Missing/wrong field2" and so on. Any help would be appreciated.


Here is the code:
#!/bin/ksh
eval $(awk 'BEGIN { IFS = "\t" }
NR>=3 {print $1}
!/\t/ ## check whether lines contain tab else var1="105" and var2="No Tabs"
{
if ( length($1) == 0 || $1 !~ /[^0-9]/ ) ## check for null and numeric value and length(9)
then
var1="101"
var2="Missing or wrong First Field"
elif ( length($2) == 0 || $2 !~ /[a-zA-Z]/ ) ## check for null and char value and length(9)
then
var1="102"
var2="Missing or Wrong Second Field"
fi
}
}' $1)

echo "$var1"
echo "$var2"
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

how to check the file data type(ascii or binary)

hi i am receiving a file from one system , i have to verify the format of the file data i.e whether the data is in acii format or binary format, please help thanks in advance satya (1 Reply)
Discussion started by: Satyak
1 Replies

2. Shell Programming and Scripting

Extracting a portion of data from a very large tab delimited text file

Hi All I wanted to know how to effectively delete some columns in a large tab delimited file. I have a file that contains 5 columns and almost 100,000 rows 3456 f g t t 3456 g h 456 f h 4567 f g h z 345 f g 567 h j k lThis is a very large data file and tab delimited. I need... (2 Replies)
Discussion started by: Lucky Ali
2 Replies

3. UNIX for Dummies Questions & Answers

How to convert a text file into tab delimited format?

I have a text file that made using text editor in Ubuntu. However the text file is not being recognized as space or tab delimited, the formatting seems to be messed up. How can I convert the text file into tab delimited format? (3 Replies)
Discussion started by: evelibertine
3 Replies

4. Shell Programming and Scripting

Append output in tab delimited format

hello.. i m scripting in Perl and having issue writing the output in specific format..i read two files and run some commands and write output to one file. i want this to be a 2d table, File one has 48 rows and file two has 48 rows, first i take one id from file one, and go to second file, loop... (2 Replies)
Discussion started by: empyrean
2 Replies

5. Shell Programming and Scripting

Parse tab delimited file, check condition and delete row

I am fairly new to programming and trying to resolve this problem. I have the file like this. CHROM POS REF ALT 10_sample.bam 11_sample.bam 12_sample.bam 13_sample.bam 14_sample.bam 15_sample.bam 16_sample.bam tg93 77 T C T T T T T tg93 79 ... (4 Replies)
Discussion started by: empyrean
4 Replies

6. Shell Programming and Scripting

How to read data from tab delimited file after a specific position?

Hi Experts, I have a tab deliminated file as below myfile.txt Local Group Memberships *Administrators *Guests I need data in below format starting from 4th position. myfile1.txt Administrators Guests the above one is just an example and there could... (15 Replies)
Discussion started by: Litu1988
15 Replies

7. UNIX for Dummies Questions & Answers

Need to convert a pipe delimited text file to tab delimited

Hi, I have a rquirement in unix as below . I have a text file with me seperated by | symbol and i need to generate a excel file through unix commands/script so that each value will go to each column. ex: Input Text file: 1|A|apple 2|B|bottle excel file to be generated as output as... (9 Replies)
Discussion started by: raja kakitapall
9 Replies

8. UNIX for Beginners Questions & Answers

Check if file is EBCDIC or ASCII format

So, i have this requirement where i need to check the file format, whether it's EBCDIC or ASCII, and based on format retrieve the information from that file: my file is: file1.txt-->this ebcdic file file2.txt-->ascii file i tried below code: file=file1.txt type="`file $file`" i get... (7 Replies)
Discussion started by: gnnsprapa
7 Replies

9. UNIX for Beginners Questions & Answers

Replace a column in tab delimited file with column in other tab delimited file,based on match

Hello Everyone.. I want to replace the retail col from FileI with cstp1 col from FileP if the strpno matches in both files FileP.txt ... (2 Replies)
Discussion started by: YogeshG
2 Replies

10. UNIX for Beginners Questions & Answers

Creating data delimited by ASCII code 1

<Any suggestion how to create a file where the values are separated by ASCII code 1,with data extracted from a table using shell script The format is :/> <columnname1(binary1)columnvalue(binary1)columnname2(binary1)columnvalue(binary1)columnname3(binary1)columnvalue... 1st row/>... (6 Replies)
Discussion started by: dasun
6 Replies
TE(1p)							User Contributed Perl Documentation						    TE(1p)

NAME
te (table editor) - front-end that simplifies editing tab-delimited text tables SYNOPSIS
te file1 [ file2 ... ] DESCRIPTION
This program makes it easier to edit tab-delimited ASCII tables, such as are used with Interchange (see icdevgroup.org), and can be exported from many popular spreadsheet and database applications. It converts tab-delimited ASCII files that have one record per line into temporary files with one field per line, each line beginning with the field name. It then sends each file to your favorite text editor. After you exit your editor, it checks to see if you changed anything in the file, and if so, it converts the data back to the tab-delimited format with one record per line, and replaces the original file. The first line of each input file must contain the field names, tab-delimited, that apply for that file. Editing is pretty straightforward when you see it in action. The rules are: o Empty lines are ignored. o Comment lines (beginning with "#") are ignored at the beginning of the file, and terminate a record in the middle. o The fields in the first record are used in all subsequent records, and the order in which they are specified are the order in which the columns will be written. o To delete a column, delete its line in the first record. o To change which order the columns are in, re-order the first record. o To add a column, add it to the first record (and as many subsequent records as you wish). Note that if you're using the "extended" option (-e), you can't add new columns, because they can't be distinguished from the extended fields that go into the serialized hash. You'd need to do that in a separate pass. o If you delete a column, you do not need to delete it from every record; any instances of that field in records after the first will be ignored. o Any space left after the field name and colon (like "fieldname:") will be included as part of the field. Any tabs you put in the field data itself will be converted to spaces (as they would corrupt the table otherwise). o A record can be deleted by removing all its fields. A new record can be added by inserting a new block of all fields at a record boundary. o If any errors are encountered, such as non-existent field names or lines that don't follow the prescribed format, processing aborts immediately and the original file is left untouched. You can edit several files in succession by naming each on the command line. The editor will be called for each one independently. If you start editing many files and decide you want to stop, add a line "#DONE" anywhere in the temporary file and save it. The current file will be processed and saved, but the rest will be skipped. As is customary with many Unix applications, you can set the environment variables VISUAL or EDITOR to point to your favorite text editor. If neither of those is set, my favorite editor, vi(1) is used. Options will also be read from environment variable TE_OPTIONS if it is set. AUTHOR
Jon Jensen <jon@endpoint.com> COPYRIGHT
Copyright (C) 2002-2008 Jon Jensen and others Copyright (C) 2001-2002 Red Hat, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License at http://www.fsf.org/copyleft/gpl.html for more details. VERSION
2008-04-12 02:33:40 CHANGELOG
2001-04-26. Initial release. 2001-05-04. Make temporary file in working directory instead of using POSIX::tmpnam. Keep ownership and permissions of original file. Fixed bug that caused fields with number "0" to be output as empty strings. 2001-05-06. Fix problem with how temporary file names were generated. 2001-07-31. Check for VISUAL environment variable, and handle editor options there or in EDITOR if given. Take advantage of Digest::MD5's native file reading instead of doing it ourselves. 2001-10-03. Added gvim support by forcing foreground option -f. 2002-07-23. Remove line endings whether CR, LF, or CRLF, instead of using running Perl's platform-specific chomp. If preserving a trailing solitary CR in the last field of a line is important, you'll want to change this behavior. 2002-08-30. Add option -s for starting value support (really only vi). te -s os28004 <file> Jumps to first occurrence of "os28004" in <file>. Option -i ignores case in the search. (By Mike Heins.) 2002-09-02. Add option -f to handle files without field names. 2002-09-03. Add option -n to number rows in comments. Allow setting of persistent options in environment variable TE_OPTIONS. 2004-06-07. Fixed bug that misinterpreted file as having no data rows when last line of file was empty. 2005-08-29. Added ability to delete, re-order, or add columns by placing them in the first record. 2005-11-15. Added support for extended columns containing Perl serialized hashes with the -e option. 2008-04-11. Added option -o to write output to a file and exit, never invoking an editor. By Greg Sabino Mullane. perl v5.14.2 2011-03-09 TE(1p)
All times are GMT -4. The time now is 01:41 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy