On Wed, October 15, 2008 10:48 am, Jerry Geis wrote:> Hi all, > > I am trying to create a script that takes an entire file, > drops the first 19 characters from each line and creates a new file. > > I am missing something easy but I am not seeing it. > > Jerry > > --- > I tried the script below but did not work. > > rm output.txt > cat test.txt | \ > while read LINE > do > newline=`echo $LINE | cut -f 19-` > echo $newline >> output.txt > done > > test.txt is below > 10-Oct-08 08:14 am 10 > 10-Oct-08 08:20 am 20 > 10-Oct-08 08:24 am 30 > 10-Oct-08 08:29 am 40 > 10-Oct-08 08:34 am 50 > 10-Oct-08 08:39 am 60 > 10-Oct-08 08:44 am 80 > 10-Oct-08 08:49 am 10 > 10-Oct-08 08:54 am 10 > 10-Oct-08 08:56 am 10 > > _______________________________________________ > CentOS mailing list > CentOS at centos.org > http://lists.centos.org/mailman/listinfo/centos >Instead of using cut -f use cut -c19-
Hi all, I am trying to create a script that takes an entire file, drops the first 19 characters from each line and creates a new file. I am missing something easy but I am not seeing it. Jerry --- I tried the script below but did not work. rm output.txt cat test.txt | \ while read LINE do newline=`echo $LINE | cut -f 19-` echo $newline >> output.txt done test.txt is below 10-Oct-08 08:14 am 10 10-Oct-08 08:20 am 20 10-Oct-08 08:24 am 30 10-Oct-08 08:29 am 40 10-Oct-08 08:34 am 50 10-Oct-08 08:39 am 60 10-Oct-08 08:44 am 80 10-Oct-08 08:49 am 10 10-Oct-08 08:54 am 10 10-Oct-08 08:56 am 10
Hello Jerry- Simply change the line: newline=`echo $LINE | cut -f 19-` to this: newline=`echo $LINE | cut -c 19-` You want to cut based on 'c'haracters, not 'f'ields. :-) Tim Nelson Systems/Network Support Rockbochs Inc. (218)727-4332 x105 ----- "Jerry Geis" <geisj at pagestation.com> wrote:> Hi all, > > I am trying to create a script that takes an entire file, > drops the first 19 characters from each line and creates a new file. > > I am missing something easy but I am not seeing it. > > Jerry > > --- > I tried the script below but did not work. > > rm output.txt > cat test.txt | \ > while read LINE > do > newline=`echo $LINE | cut -f 19-` > echo $newline >> output.txt > done > > test.txt is below > 10-Oct-08 08:14 am 10 > 10-Oct-08 08:20 am 20 > 10-Oct-08 08:24 am 30 > 10-Oct-08 08:29 am 40 > 10-Oct-08 08:34 am 50 > 10-Oct-08 08:39 am 60 > 10-Oct-08 08:44 am 80 > 10-Oct-08 08:49 am 10 > 10-Oct-08 08:54 am 10 > 10-Oct-08 08:56 am 10 > > _______________________________________________ > CentOS mailing list > CentOS at centos.org > http://lists.centos.org/mailman/listinfo/centos
> I am trying to create a script that takes an entire file, > drops the first 19 characters from each line and creates a new file. > > I am missing something easy but I am not seeing it. > > Jerry > > --- > I tried the script below but did not work. > > rm output.txt > cat test.txt | \ > while read LINE > do > newline=`echo $LINE | cut -f 19-` > echo $newline >> output.txt > done > test.txt is below 10-Oct-08 08:14 am 10why not simply cut -b10- foo > bar t
Hi, On Wed, Oct 15, 2008 at 10:48, Jerry Geis <geisj at pagestation.com> wrote:> I am trying to create a script that takes an entire file, > drops the first 19 characters from each line and creates a new file. > newline=`echo $LINE | cut -f 19-`What you want is "cut -c 19-" (-c as in characters) and not "cut -f 19-" (-f as in fields).> echo $newline >> output.txtThis will also remove the spacing. You should at least use echo "$newline" >>output.txt, but in any case it's silly as you can just: cut -c 19- <test.txt >output.txt HTH, Filipe
Jerry Geis wrote:> Hi all, > > I am trying to create a script that takes an entire file, > drops the first 19 characters from each line and creates a new file.[..]> test.txt is below > 10-Oct-08 08:14 am 10If this is the format of your data you could use awk to do the same thing cat filename | awk '{print $4}' nate