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