08-27-2008
Help to simplify with awk
Hi,
Need your help guys. I'm trying to tweak my current shell-script to make it run faster. I think a part of the code that takes too long is the splitting of the 1st field of my CSV raw-file to date-time. Below is the 1st column of my CSV file:
$ awk -F"," {'print $1'} temp-*|head
20080826000059
20080826000325
20080826000400
20080826000044
20080826000332
20080826001014
20080826001932
20080826002833
20080826002107
20080826002148
When my script runs it becomes:
2008.08.26,00:00:59
2008.08.26,00:03:25
2008.08.26,00:04:00
2008.08.26,00:00:44
2008.08.26,00:03:32
2008.08.26,00:10:14
2008.08.26,00:19:32
2008.08.26,00:28:33
2008.08.26,00:21:07
2008.08.26,00:21:48
the part of my script that does this is as below:
for LINE in `cat $INPUT/temp-out.rgp3`
do
YEAR=`echo $LINE|awk -F"," {'print $1'}|cut -c 1-4`
MONTH=`echo $LINE|awk -F"," {'print $1'}|cut -c 5-6`
DEY=`echo $LINE|awk -F"," {'print $1'}|cut -c 7-8`
HOUR=`echo $LINE|awk -F"," {'print $1'}|cut -c 9-10`
MIN=`echo $LINE|awk -F"," {'print $1'}|cut -c 11-12`
SEC=`echo $LINE|awk -F"," {'print $1'}|cut -c 13-14`
done
Is there a way that I can simplify this to make the script run faster? Maybe use awk {gsub} or something similar?
Appreciate your replies.
Thanks.
9 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
I'm trying to write a script that simplify the use of grep utility. these are the option that I'd like to use with the script " -c -i -l -n -v". When I execute the script none of these option works. I really appreciate any idea or tips regarding this problem. here the code
echo " Enter 1-7:"... (2 Replies)
Discussion started by: kemobyte
2 Replies
2. Shell Programming and Scripting
Hi all,
How can I simplify following script,
Logic is to find two strings (strings are case sensitive) from a file.
if ; then
if ; then
Group=`echo $1_hostname`
fi
fi
Please help me on this.
Regards
Sudhish s. kumar (8 Replies)
Discussion started by: sudhish
8 Replies
3. Shell Programming and Scripting
Hi all,
I have a script which runs every morning which clears down a series of directories. The structures of which are;
/opt/feeds/failed/feed1
/opt/feeds/succeed/feed1
/opt/feeds/failed/feed2
/opt/feeds/succeed/feed2
/opt/feeds/failed/feed3
/opt/feeds/succeed/feed3
etc
etc
Files... (6 Replies)
Discussion started by: JayC89
6 Replies
4. Shell Programming and Scripting
Input file:
2 aux003.net3.com error12
6 awn0117.net1.com error13
84 aux008 error14
29 aux001.ha.ux.isd.com error12
209 aux002.vm.ux.isd.com error34
21 alx0027.vm.net2.com error12
227 dux001.net5.com error123
22 us008.dot.net2.com error121
13 us009.net2.com error129Expected Output:
2... (4 Replies)
Discussion started by: sQew
4 Replies
5. Shell Programming and Scripting
below is something i inherited:
if && && ; then
HOST_SELECT="-m quadcore"
fi
if && && ; then
HOST_SELECT="-m quadcore"
fi
if && && ; then
HOST_SELECT="-m octocore1"
fibelow is what i changed it to:
if && && ; then
HOST_SELECT="-m quadcore"... (2 Replies)
Discussion started by: crimso
2 Replies
6. Shell Programming and Scripting
Hi can anyone help me with how to simplify this regular expression
---------- Post updated at 09:16 PM ---------- Previous update was at 09:11 PM ----------
IS THIS RIGHT
? (3 Replies)
Discussion started by: drew211
3 Replies
7. Shell Programming and Scripting
I have the following code that print certain files in my directory and groups things together. I would be good to tidy and simplify this code up and would greatly appreciate suggestions.
if ($opt_raytrac == 1) then
echo ""
echo -n "\033*\)/ & /g' | sort -k 4n | sed 's/ //g' \
# |... (0 Replies)
Discussion started by: kristinu
0 Replies
8. Shell Programming and Scripting
hi guys need your help...how to simplify this script...
for i in `cat dmp.txt`
do
model=$i
more $model | grep : | cut -d ":" -f 2- | grep : | grep -v "=" > temp1
more $model | grep / | cut -d ":" -f 2- > temp2
more $model | grep = | cut -d ":" -f 2- > temp3
more... (2 Replies)
Discussion started by: zulabc
2 Replies
9. Programming
I am trying to verify my understanding on setter and getter on java class with this example:
//MaximumFinder2.java
import java.util.Scanner;
public class MaximumFinder2
{
public static void main (String args)
{
Scanner input = new Scanner(System.in);
... (6 Replies)
Discussion started by: yifangt
6 Replies
LEARN ABOUT PHP
datetime.setisodate
DATETIME.SETISODATE(3) 1 DATETIME.SETISODATE(3)
DateTime::setISODate - Sets the ISO date
Object oriented style
SYNOPSIS
public DateTime DateTime::setISODate (int $year, int $week, [int $day = 1])
DESCRIPTION
Procedural style
DateTime date_isodate_set (DateTime $object, int $year, int $week, [int $day = 1])
Set a date according to the ISO 8601 standard - using weeks and day offsets rather than specific dates.
PARAMETERS
o $object
-Procedural style only: A DateTime object returned by date_create(3). The function modifies this object.
o $year
- Year of the date.
o $week
- Week of the date.
o $day
- Offset from the first day of the week.
RETURN VALUES
Returns the DateTime object for method chaining or FALSE on failure.
CHANGELOG
+--------+---------------------------------------------------+
|Version | |
| | |
| | Description |
| | |
+--------+---------------------------------------------------+
| 5.3.0 | |
| | |
| | Changed the return value on success from NULL to |
| | DateTime. |
| | |
+--------+---------------------------------------------------+
EXAMPLES
Example #1
DateTime.setISODate(3) example
Object oriented style
<?php
$date = new DateTime();
$date->setISODate(2008, 2);
echo $date->format('Y-m-d') . "
";
$date->setISODate(2008, 2, 7);
echo $date->format('Y-m-d') . "
";
?>
Procedural style
<?php
$date = date_create();
date_isodate_set($date, 2008, 2);
echo date_format($date, 'Y-m-d') . "
";
date_isodate_set($date, 2008, 2, 7);
echo date_format($date, 'Y-m-d') . "
";
?>
The above examples will output:
2008-01-07
2008-01-13
Example #2
Values exceeding ranges are added to their parent values
<?php
$date = new DateTime();
$date->setISODate(2008, 2, 7);
echo $date->format('Y-m-d') . "
";
$date->setISODate(2008, 2, 8);
echo $date->format('Y-m-d') . "
";
$date->setISODate(2008, 53, 7);
echo $date->format('Y-m-d') . "
";
?>
The above example will output:
2008-01-13
2008-01-14
2009-01-04
Example #3
Finding the month a week is in
<?php
$date = new DateTime();
$date->setISODate(2008, 14);
echo $date->format('n');
?>
The above examples will output:
3
SEE ALSO
DateTime.setDate(3), DateTime.setTime(3).
PHP Documentation Group DATETIME.SETISODATE(3)