Sponsored Content
Top Forums Shell Programming and Scripting Replace a data in a field if that does not contain a particular pattern Post 302592482 by machomaddy on Tuesday 24th of January 2012 04:09:48 AM
Old 01-24-2012
Replace a data in a field if that does not contain a particular pattern

Hi,
I have a date/time field in my file. I have to search in all the records and append a timestamp to it, if the timestamp is missing in that field. Is there a possible awk solution for this?

Field date format [YYYY-MM-DD HH24:MI:SS]

Code:
File1
====
1|vamu|payer|2007-12-02 02:01:30|bcbs|
2|vane|payer|2008-02-01|welcr|
 
Expected output
1|vamu|payer|2007-12-02 01:12:20|bcbs| (no change)
2|vane|payer|2008-02-01 00:00:00|welcr| (Time stamp added)

 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

find pattern and replace another field

HI all I have a problem, I need to replace a field in a file, but only in the lines that have some pattern, example: 100099C01101C00000000059394200701CREoperadora_TX 100099C01201C00000000000099786137OPERADORA_TX2 in the example above I need to change the first field from 1 to 2 only if... (3 Replies)
Discussion started by: sergiioo
3 Replies

2. Shell Programming and Scripting

AWK: Pattern match between 2 files, then compare a field in file1 as > or < field in file2

First, thanks for the help in previous posts... couldn't have gotten where I am now without it! So here is what I have, I use AWK to match $1 and $2 as 1 string in file1 to $1 and $2 as 1 string in file2. Now I'm wondering if I can extend this AWK command to incorporate the following: If $1... (4 Replies)
Discussion started by: right_coaster
4 Replies

3. UNIX for Dummies Questions & Answers

Match pattern in a field, print pattern only instead of the entire field

Hi ! I have a tab-delimited file, file.tab: Column1 Column2 Column3 aaaaaaaaaa bbtomatoesbbbbbb cccccccccc ddddddddd eeeeappleseeeeeeeee ffffffffffffff ggggggggg hhhhhhtomatoeshhh iiiiiiiiiiiiiiii ... (18 Replies)
Discussion started by: lucasvs
18 Replies

4. Shell Programming and Scripting

Replace field in one file with whole record data of another

Hello Group, I need to replace the city field in “File 1 (fileld 3), with the entire record line of “File 2” (including delimiters) where the “city” field (File 1, Field 3)matches city field (File 2, Field1). All of the other data in “File 1” should remain intact(Fields 1,2,4,5,6). Only field... (1 Reply)
Discussion started by: vestport
1 Replies

5. Shell Programming and Scripting

Replace column that matches specific pattern, with column data from another file

Can anyone please help with this? I have 2 files as given below. If 2nd column of file1 has pattern foo1@a, find the matching 1st column in file2 & replace 2nd column of file1 with file2's value. file1 abc_1 foo1@a .... abc_1 soo2@a ... def_2 soo2@a .... def_2 foo1@a ........ (7 Replies)
Discussion started by: prashali
7 Replies

6. UNIX for Dummies Questions & Answers

Serach pattern in one field and replace in another

Hi all, I have a TAB separated file like this: sample.rpt: 54 67 common/bin/my/home {{bla bla bla}} {bla bla} Replace Me 89 75 bad/rainy/day/out {{ some bla} } {some bla} Dontreplace Me ...... ...... I wish to do a regexp match on the 3rd... (2 Replies)
Discussion started by: newboy
2 Replies

7. Shell Programming and Scripting

Need help to replace a pattern on specific line in a data file

Hi, I want to replace specific pattern "-2.0000 2" by "1.0000 3" on a particular line (line #5) in a file 1.dat. I have about 50 more files similar to 1.dat in which I want to do this correction. Can you please suggest how can I make change only at this particular line of a file... (6 Replies)
Discussion started by: anuj06
6 Replies

8. Shell Programming and Scripting

Displaying the first field if the second field matches the pattern using Perl

Hi, I am trying with the below Perl command to print the first field when the second field matches the given pattern: perl -lane 'open F, "< myfile"; for $i (<F>) {chomp $i; if ($F =~ /patt$/) {my $f = (split(" ", $i)); print "$f";}} close F' dummy_file I know I can achieve the same with the... (7 Replies)
Discussion started by: royalibrahim
7 Replies

9. Shell Programming and Scripting

Replace pattern from nth field from a file

$ cat /cygdrive/d/Final2.txt 1,A ,Completed, 07.03_23.01 ,Jun 30 20:00 2,BBB,Pending,, 3,CCCCC,Pending,, 4,DDDDD,Pending,, 5,E,Pending,, 6,FFFF,Pending,, 7,G,Pending,, In the above file 4th field is date which is in MM.DD_HH.MIN format and I need to convert it to as it is there in 5th... (1 Reply)
Discussion started by: Amit Joshi
1 Replies

10. Shell Programming and Scripting

Replace pattern from nth field from a file

I have posted this again as old post is closed and I am not able to reopen. so please consider this new post Input File : 1,A,Completed,06.02_19.36,Jun 30 20:00 2,BBB,Failed,07.04_05.12,Jul 21 19:06 3,CCCCC,New,07.21_03.03,Jul 26 12:57 4,DDDDD,Pending,, I wast output file as: ... (7 Replies)
Discussion started by: Amit Joshi
7 Replies
IDATE(3)								 1								  IDATE(3)

idate - Format a local time/date as integer

SYNOPSIS
int idate (string $format, [int $timestamp = time()]) DESCRIPTION
Returns a number formatted according to the given format string using the given integer $timestamp or the current local time if no time- stamp is given. In other words, $timestamp is optional and defaults to the value of time(3). Unlike the function date(3), idate(3) accepts just one char in the $format parameter. PARAMETERS
o $format - The following characters are recognized in the $format parameter string +------------------+---------------------------------------------------+ |$format character | | | | | | | Description | | | | +------------------+---------------------------------------------------+ | | | | B | | | | | | | Swatch Beat/Internet Time | | | | | | | | d | | | | | | | Day of the month | | | | | | | | h | | | | | | | Hour (12 hour format) | | | | | | | | H | | | | | | | Hour (24 hour format) | | | | | | | | i | | | | | | | Minutes | | | | | | | | I (uppercase i) | | | | | | | returns 1 if DST is activated, 0 otherwise | | | | | | | | L (uppercase l) | | | | | | | returns 1 for leap year, 0 otherwise | | | | | | | | m | | | | | | | Month number | | | | | | | | s | | | | | | | Seconds | | | | | | | | t | | | | | | | Days in current month | | | | | | | | U | | | | | | | Seconds since the Unix Epoch - January 1 1970 | | | 00:00:00 UTC - this is the same as time(3) | | | | | | | | w | | | | | | | Day of the week ( 0 on Sunday) | | | | | | | | W | | | | | | | ISO-8601 week number of year, weeks starting on | | | Monday | | | | | | | | y | | | | | | | Year (1 or 2 digits - check note below) | | | | | | | | Y | | | | | | | Year (4 digits) | | | | | | | | z | | | | | | | Day of the year | | | | | | | | Z | | | | | | | Timezone offset in seconds | | | | +------------------+---------------------------------------------------+ o $timestamp - The optional $timestamp parameter is an integer Unix timestamp that defaults to the current local time if a $timestamp is not given. In other words, it defaults to the value of time(3). RETURN VALUES
Returns an integer. As idate(3) always returns an integer and as they can't start with a "0", idate(3) may return fewer digits than you would expect. See the example below. ERRORS
/EXCEPTIONS Every call to a date/time function will generate a E_NOTICE if the time zone is not valid, and/or a E_STRICT or E_WARNING message if using the system settings or the $TZ environment variable. See also date_default_timezone_set(3) CHANGELOG
+--------+---------------------------------------------------+ |Version | | | | | | | Description | | | | +--------+---------------------------------------------------+ | 5.1.0 | | | | | | | Now issues the E_STRICT and E_NOTICE time zone | | | errors. | | | | +--------+---------------------------------------------------+ EXAMPLES
Example #1 idate(3) example <?php $timestamp = strtotime('1st January 2004'); //1072915200 // this prints the year in a two digit format // however, as this would start with a "0", it // only prints "4" echo idate('y', $timestamp); ?> SEE ALSO
date(3), getdate(3), time(3). PHP Documentation Group IDATE(3)
All times are GMT -4. The time now is 07:37 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy