10-01-2008
KSH script -text file processing NULL issues
I'm trying to strip any garbage that may be at the end of my text file and that part is working. The problem only seems to be with the really long lines in the file. When the head command is executed I am directing the output to a new file. The new file always get a null in the 4096 position but only on the long lines. The long lines are 4405 long and the rest of the line is in the new file but has a null in position 4096. Not sure what the issue might be. Any thoughts?
Here's my script:
#! /bin/ksh
# Strip off extraneous characters from text file
# To envoke, type ./s.fixfile <filename> <tempfilename>
if [ $# -ne 2 ]
then
echo "Usage: $0 filename tempfilename"
exit 1
elif [ ! -a "$1" ]
then
echo "$1 does not exist"
exit 1
elif [ ! -f "$1" ]
then
echo "$1 is not an ordinary file"
exit 1
elif [ ! -r "$1" -o ! -w "$1" ]
then
echo "$1 is either not a readable or a writable file"
exit 1
fi
integer WCSIZE
WCSIZE=$(cat $1 | wc -l) # Get line count of file
head -$WCSIZE $1 > $2 # Create temp file based on line count
cp $2 $1 # Copy temp file to original
rm $2
10 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
A file contains one name per line, such as:
john doe
jack bruce
nancy smith
sam riley
When I 'cat' the file, the white space is treated as a new line. For example
list=`(cat /path/to/file.txt)`
for items in $list
do
echo $items
done
I get:
john
doe (1 Reply)
Discussion started by: TheCrunge
1 Replies
2. UNIX for Dummies Questions & Answers
Hello!
There is a text file, that contains hierarchy of menues, like:
Aaaaa->Bbbbb
Aaaaa->Cccc
Aaaaa-> {spaces} Ddddd (it means that the full path is Aaaaa->Cccc->Ddddd )
Aaaaa-> {more spaces} Eeeee (it means that the full path is Aaaaa->Cccc->Ddddd->Eeeee )
Fffffff->Ggggg... (1 Reply)
Discussion started by: alias47
1 Replies
3. Shell Programming and Scripting
I need a script to process a huge single line text file:
The sample of the text is:
"forward_inline_item": "Inline", "options_region_Australia": "Australia", "server_event_err_msg": "There was an error attempting to save", "Token": "Yes", "family": "Family","pwd_login_tab": "Enter Your... (1 Reply)
Discussion started by: hmsadiq
1 Replies
4. Shell Programming and Scripting
Hey together,
You should know, that I'am relatively new to shell scripting, so my solution is probably a little awkward.
Here is the script:
#!/bin/bash
live_dir=/var/lib/pokerhands/live
for limit in `find $live_dir/ -type d | sed -e s#$live_dir/##`; do
cat $live_dir/$limit/*... (19 Replies)
Discussion started by: lorus
19 Replies
5. Shell Programming and Scripting
Dear Members,
I have a table in Oracle DB and one of its column name is INFO which has data in text format which we need to fetch in a script and create an xml file of a new table from the input.
The contents of a single cell of INFO column is like:
Area:app - aam
Clean Up Criteria:... (0 Replies)
Discussion started by: Yoodit
0 Replies
6. Shell Programming and Scripting
I have a text file which is a dataset. and I need to convert it into a CSV format
The file is as follows :
First line :
-1 3:1 11:1 14:1 19:1 39:1 42:1 55:1 64:1 67:1 73:1 75:1 76:1 80:1 83:1
Second line "
+1 5:1 11:1 15:1 32:1 39:1 40:1 52:1 63:1 67:1 73:1 74:1 76:1 78:1 83:1
There are a... (6 Replies)
Discussion started by: ajayram
6 Replies
7. UNIX for Dummies Questions & Answers
Hi ALL,
I am presently using perl script mukesh.pl I just want to catch its output into another text file .
So I am using > File.txt .
I am getting output but i want the whole processing of the script into that file please let me know .
Thanks in advance
Cheers
Mukesh (1 Reply)
Discussion started by: mumakhij
1 Replies
8. Programming
Hello,
I extracted a list of files in a directory with the command ls . However this is not my computer, so the ls functionality has been revamped so that it gives the filesizes in front like this :
This is the output of ls command : I stored the output in a file filelist
1.1M... (5 Replies)
Discussion started by: ajayram
5 Replies
9. UNIX for Dummies Questions & Answers
Hello All,
I am new to unix scripting and wanted to know, is it possible if we find any null value or blank record in the text file.
For example we have a text file with only one column and there are 90 records.
But some times we will have a null value or blank row record in the text file.
I... (4 Replies)
Discussion started by: Ram11111
4 Replies
10. Shell Programming and Scripting
Here is my sample data
Test.txt
column 1|columne 2|columne 3|columne 4
test|test||test
test|test|test|
test||test|test
test|test|test|test
|test|test|test
In that example having NULL value of the row 2-column 3,row 3-column 4,row 4 - column 2,row 6- column 1
How i can validate... (5 Replies)
Discussion started by: krish2014
5 Replies
XMLIF(1) xmlif XMLIF(1)
NAME
xmlif - conditional processing instructions for XML
SYNOPSIS
xmlif [attrib=value...]
DESCRIPTION
xmlif filters XML according to conditionalizing markup. This can be useful for formatting one of several versions of an XML document
depending on conditions passed to the command.
Attribute/value pairs from the command line are matched against the attributes associated with certain processing instructions in the
document. The instructions are <?xmlif if?> and its inverse <?xmlif if not?>, <?xmlif elif?> and its inverse <?xmlif elif not?>, <?xmlif
else?>, and <?xmlif fi?>.
Argument/value pairs given on the command line are checked against the value of corresponding attributes in the conditional processing
instructions. An `attribute match' happens if an attribute occurs in both the command-line arguments and the tag, and the values match. An
`attribute mismatch' happens if an attribute occurs in both the command-line arguments and the tag, but the values do not match.
Spans between <?xmlif if?> or <?xmlif elif?> and the next conditional processing instruction at the same nesting level are passed through
unaltered if there is at least one attribute match and no attribute mismatch; spans between <?xmlif if not?> and <?xmlif elif not?> and the
next conditional processing instruction are passed otherwise. Spans between <?xmlif else?> and the next conditional-processing tag are
passed through only if no previous span at the same level has been passed through. <?xmlif if?> and <?xmlif fi?> (and their `not'
variants) change the current nesting level; <?xmlif else?> and <?xmlif elif?> do not.
All these processing instructions will be removed from the output produced. Aside from the conditionalization, all other input is passed
through untouched; in particular, entity references are not resolved.
Value matching is by string equality, except that "|" in an attribute value is interpreted as an alternation character. Thus, saying
foo='red|blue' on the command line enables conditions red and blue. Saying color='black|white' in a tag matches command-line conditions
color='black' and color='white'.
Here is an example:
Always issue this text.
<?xmlif if condition='html'?>
Issue this text if 'condition=html' is given on the command line.
<?xmlif elif condition='pdf|ps'?>
Issue this text if 'condition=pdf' or 'condition=ps'
is given on the command line.
<?xmlif else?>
Otherwise issue this text.
<?xmlif fi?>
Always issue this text.
AUTHOR
Eric S. Raymond <esr@snark.thyrsus.com>
Author of xmlif program
Linux April 2009 XMLIF(1)