Sponsored Content
Top Forums Shell Programming and Scripting Processing 1 match string from grep at a time Post 302654881 by cilantrocado on Tuesday 12th of June 2012 03:41:52 PM
Old 06-12-2012
running Mac OS X version 10.6.8
using case makes sense. i'll try it and let you know what happens.
thank you!

---------- Post updated at 11:31 AM ---------- Previous update was at 11:08 AM ----------

Code:
$ cat date_configurator.sh 
#!/bin/bash -x

while read DATE TIME REST
do
	case "$DATE $TIME" in
	200[3-4]-[0-9][0-9]-[0-9][0-9] [0-9][0-9]:[0-9][0-9]:[0-9][0-9])
		# format $DATE $TIME into epoch time
		BAD_DATE=`date -j -f "%Y-%m-%d %H:%M:%S" "${DATE} ${TIME}" "+%s"`
		# add 246471660 seconds to $BAD_DATE
		ADJ_DATE=`expr ${BAD_DATE} + 246471660`
		# re-format $ADJ_DATE back to original format of $DATE $TIME
		FIXED_DATE=`date -j -f "%s" "${ADJ_DATE}" "+%Y-%m-%d %H:%M:%S"`
		# replace $DATE $TIME with $FIXED_DATE
		sed "s/${DATE}/${FIXED_DATE}/"
		;;
	*)	# Do nothing
		;;
	esac

	echo "$DATE $TIME $REST"
done < test.txt > test2.txt




$ ./date_configurator.sh 
./date_configurator.sh: line 6: syntax error near unexpected token `[0-9][0-9]:[0-9][0-9]:[0-9][0-9]'
./date_configurator.sh: line 6: `	200[3-4]-[0-9][0-9]-[0-9][0-9] [0-9][0-9]:[0-9][0-9]:[0-9][0-9])'

---------- Post updated at 03:41 PM ---------- Previous update was at 11:31 AM ----------

after much research and toil and with Corona688's insight, i have a working script.


Code:
#!/bin/bash

echo "Enter file name that contains corrupt dates and press [ENTER]"
read file_name
output=`echo "$file_name"_edited`

while read DATE TIME REST
do
if [[ "$DATE" =~ 200[3-4]-[0-9][0-9]-[0-9][0-9] ]]
then
  BAD_DATE=`date -j -f "%Y-%m-%d %H:%M:%S" "${DATE} ${TIME}" "+%s"`
  ADJUSTED_DATE=`expr ${BAD_DATE} + 246471660`
  FIXED_DATE=`date -j -f "%s" "${ADJUSTED_DATE}" "+%Y-%m-%d %H:%M:%S"`
  echo "$FIXED_DATE $REST" >> $output
else
  echo "$DATE $TIME $REST" >> $output
fi
done < $file_name

thanks again!
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

grep to show date/time of file the string was found in.

I've seen several examples of grep showing the filename the string was found in, but what I really need is grep to show the file details in long format (like ls -l would). scenario is: grep mobile_number todays_files This will show me the string I'm after & which files they turn up in, but... (2 Replies)
Discussion started by: woodstock
2 Replies

2. Shell Programming and Scripting

Appending string to match pattern (data processing)

Hello i have go the following result from performing 2 testing using the same file. I have used unix script to extract the result because the files are many as shown below. 01_gravity.f.tcov 7 3 42.86 02_gravity.f.tcov 9 4 80.86... (4 Replies)
Discussion started by: ganiel24
4 Replies

3. UNIX for Dummies Questions & Answers

Regex to match when input is not a certain string (can't use grep -v)

Hey everyone, Basically, all I'm looking for is a way to regex for not a certain string. The regex I'm looking to avoid matching is: D222 i.e. an equivalent of: awk '!/D222/' The problem is that I use this in the following command in a Bash script: ls ${source_directory} | awk... (1 Reply)
Discussion started by: kdelok
1 Replies

4. Shell Programming and Scripting

Need help to grep for a title match and then make some queries after the match

Here is the sample of my file address.txt Address 1 1234 Drive way New Orleans, LA Zipcode :- 12345 Address 2 4567 Spring way Chicago, IL Zipcode :- 67890 I would like to grep for an Address title (Ex :- Address 2) , then get its zipcode and echo both in a single line. Ex :- ... (3 Replies)
Discussion started by: leo.maveriick
3 Replies

5. Shell Programming and Scripting

exact string match ; search and print match

I am trying to match a pattern exactly in a shell script. I have tried two methods awk '/\<mpath${CURR_MP}\>/{print $1 $2}' multipath perl -ne '/\bmpath${CURR_MP}\b/ and print' /var/tmp/multipath Both these methods require that I use the escape character. I am guessing that is why... (8 Replies)
Discussion started by: bash_in_my_head
8 Replies

6. Shell Programming and Scripting

grep regex, match exact string which includes "/" anywhere on line.

I have a file that contains the 2 following lines (from /proc/mounts) /dev/sdc1 /mnt/backup2 xfs rw,relatime,attr2,noquota 0 0 /dev/sdb1 /mnt/backup xfs rw,relatime,attr2,noquota 0 0 I need to match the string in the second column exactly so that only one result is returned, e.g. > grep... (2 Replies)
Discussion started by: jelloir
2 Replies

7. IP Networking

Processing time

I want to know the processing time taken by a node.example suppose a node ges a rreq...then it searched through it's table to see if it has a fresh route or not.I want to know this search time...is their any function available for doing this in ns2 or in glomosim.Any help is highly appreciated ... (1 Reply)
Discussion started by: prashantgolu
1 Replies

8. UNIX for Dummies Questions & Answers

Real time processing

Hi Not sure if this can be achieved by unix , but still would like to know if there is any way by which I can do the below given logic cat sam1 > out1 cat sam2 > out2 when either one of this finished the the next file shd be written in that file, meaning cat sam3 >> out1/out2... (2 Replies)
Discussion started by: Sri3001
2 Replies

9. Shell Programming and Scripting

Need to print the next word from the same line based on grep string condtion match.

I need to fetch particular string from log file based on grep condition match. Actual requirement is need to print the next word from the same line based on grep string condtion match. File :Java.lanag.xyz......File copied completed : abc.txt Ouput :abc.txt I have used below... (5 Replies)
Discussion started by: siva83
5 Replies

10. Shell Programming and Scripting

Grep command to search a regular expression in a line an only print the string after the match

Hello, one step in a shell script i am writing, involves Grep command to search a regular expression in a line an only print the string after the match an example line is below /logs/GRAS/LGT/applogs/lgt-2016-08-24/2016-08-24.8.log.zip:2016-08-24 19:12:48,602 ERROR... (9 Replies)
Discussion started by: Ramneekgupta91
9 Replies
ZGREP(1)						      General Commands Manual							  ZGREP(1)

NAME
zgrep - search possibly compressed files for a regular expression SYNOPSIS
zgrep [ grep_options ] [ -e ] pattern filename... DESCRIPTION
Zgrep invokes grep on compressed or gzipped files. These grep options will cause zgrep to terminate with an error code: (-[drRzZ]|--di*|--exc*|--inc*|--rec*|--nu*). All other options specified are passed directly to grep. If no file is specified, then the standard input is decompressed if necessary and fed to grep. Otherwise the given files are uncompressed if necessary and fed to grep. If the GREP environment variable is set, zgrep uses it as the grep program to be invoked. EXIT CODE
2 - An option that is not supported was specified. AUTHOR
Charles Levert (charles@comm.polymtl.ca) SEE ALSO
grep(1), gzexe(1), gzip(1), zdiff(1), zforce(1), zmore(1), znew(1) ZGREP(1)
All times are GMT -4. The time now is 05:18 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy