We have shell script (in ksh) which reads the records from a csv file line by line and does some operation. We have below command to read the file (CSV has the absolute path of files stored on a server something like SER/IMP/TEST/2010/12/123465.1).
The CSV file has around 2000 lines of records. The issue we are seeing is - the script is not reading all the records. It reads about 1190 records and comes out of the loop. We are not sure why it is not reading all lines. We did confirm that the file is correct and there is no special characters in it.
Is there a restriction on CAT command in unix? Does it read only a limited number of lines from a file? Is there a fix for the above issue? What other approach can be used for the above requirement?
Thanks so much for any help you can provide on this.
Thanks,
Shreevatsa
Last edited by Franklin52; 11-05-2010 at 12:43 PM..
Reason: Please use code tags
Hi Experts,
I am finding the performance of cat command is very wierd, it is taking more time to merge the files into a single file. We have a situation where we would be merging more than 100 files into a single file, but with cat command it is running slow. I tried doing with paste, join... (13 Replies)
Dear All
I have two text files File1.txt and File2.txt . I am concatenating the two files and making it as single file Cat_File.txt. Now i need to keep joined file in two different path. that is I need to use cat command only once ,but store joined file in two different locations. Since... (3 Replies)
Hello,
So I sorted my file as I was supposed to:
sort -n -r -k 2 -k 1 file1 | uniq > file2
and when I wrote
> cat file2
in the command line, I got what I was expecting, but in the script itself
...
sort -n -r -k 2 -k 1 averages | uniq > temp
cat file2
It wrote a whole... (21 Replies)
I want to concatenate 100 files to one file and append file name in each record to find out which file it came from
for a in $(<shal_group)
do
cat $a >> bigoutput.group
The above code put all files in one file but i want file name appended to each file
Record should be like this... (3 Replies)
I have list of files in my current directory
abc.txt
123.csv
234.csv
245.csv
145.csv
123_ex_c.sv
I don't want to open first and last file. i.e (abc.txt and 123_ex_csv)
I tried
cat *.csv, but it won't work.
Can anyone tell me the proper regex only in cat
Thanks
Pritish
... (2 Replies)
ok..
so problem is:
I have a file that reads:
cat 123
1 and 2
3 and 4
5 and 6
I was using for loops to run through this information.
Code:
for i in `cat 123`
do
echo $i
done
shouldn't the output come as
1 and 2 (3 Replies)
I have a script to do a couple simple but repetitive commands on files that are provided to us. One of the things is to get rid of the line feeds. This is the section that is causing problems, i even cut this section into its own file to make sure nothing else was affecting it.
#!/usr/bin/bash... (4 Replies)
Hi,
I need to ssh remotely to a machine and cat a file assign the value to a variable
Script:
#!/bin/bash -x
value=`cat config.txt`
echo "$value"
ssh me@xxx.host.com "valu='cat /export/home/test.md5'; echo "$valu"" | tee
Execution:
$ ./x
++ cat config.txt
+ value='touch me'
+... (5 Replies)
Good day to all,
I'd like to ask for your advice with regards to this.
Scenario :
I have here a file named TEST.tmp wherein the value inside is below;
"ONE|TWO|FIVE|THREE|FOUR|SIX~SEVEN~EIGHT" "NINE"
But when I'm trying to use this in a simple command like;
for TESTING in $(cat... (4 Replies)
Discussion started by: asdfghjkl
4 Replies
LEARN ABOUT BSD
cat
CAT(1) General Commands Manual CAT(1)NAME
cat - catenate and print
SYNOPSIS
cat [ -u ] [ -n ] [ -s ] [ -v ] file ...
DESCRIPTION
Cat reads each file in sequence and displays it on the standard output. Thus
cat file
displays the file on the standard output, and
cat file1 file2 >file3
concatenates the first two files and places the result on the third.
If no input file is given, or if the argument `-' is encountered, cat reads from the standard input file. Output is buffered in the block
size recommended by stat(2) unless the standard output is a terminal, when it is line buffered. The -u option makes the output completely
unbuffered.
The -n option displays the output lines preceded by lines numbers, numbered sequentially from 1. Specifying the -b option with the -n
option omits the line numbers from blank lines.
The -s option crushes out multiple adjacent empty lines so that the output is displayed single spaced.
The -v option displays non-printing characters so that they are visible. Control characters print like ^X for control-x; the delete char-
acter (octal 0177) prints as ^?. Non-ascii characters (with the high bit set) are printed as M- (for meta) followed by the character of
the low 7 bits. A -e option may be given with the -v option, which displays a `$' character at the end of each line. Specifying the -t
option with the -v option displays tab characters as ^I.
SEE ALSO cp(1), ex(1), more(1), pr(1), tail(1)BUGS
Beware of `cat a b >a' and `cat a b >b', which destroy the input files before reading them.
4th Berkeley Distribution May 5, 1986 CAT(1)