Sponsored Content
Top Forums Shell Programming and Scripting By using "sed" command. Please help!!! Post 302419505 by durden_tyler on Friday 7th of May 2010 11:06:11 AM
Old 05-07-2010
Quote:
Originally Posted by nvkuriseti
...
From the above file, there is a date of birth in body (=020). I want to remove/substitute the dateofbirth with spaces. Like, 19750426 is the date of birth but want to substiute as spaces "1#7#0#2#". Want to do this same in all records in the file. Can you please tell me how to do this in shell script?
...
A small change in my previous post. Instead of substitue the spaces, need to fill every 2nd character as # in the Date of Birth field.
...
You haven't mentioned if the date of birth part begins at a specific column in your file. If it does, and if you know that column number, then you can do something like the following Perl one-liner:

Code:
$
$ cat f1
010AAAAA 20100507 234KB BBBBBBBBBB_20100506.DAT
020CCCCC                     DDDDDDDDD         373983983           19750426           456.90               3983939EE
020FFFFF                     GGGGGGGGG         38938993H           19801102           783.33               DKJFDKJ983
030END OF FILE TOTAL 39839.22
$
$
$ perl -plne 's/^(020.{64})(\d).(\d).(\d).(\d).(.*)$/$1$2#$3#$4#$5#$6/' f1
010AAAAA 20100507 234KB BBBBBBBBBB_20100506.DAT
020CCCCC                     DDDDDDDDD         373983983           1#7#0#2#           456.90               3983939EE
020FFFFF                     GGGGGGGGG         38938993H           1#8#1#0#           783.33               DKJFDKJ983
030END OF FILE TOTAL 39839.22
$
$

Over here I know that date of birth begins from column 68 in rows that start with "020". Hence I put "64" in the brace quantifiers so that total length of the part before it is 3 (length of "020") + 64 = 67.

HTH,
tyler_durden
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

cat $como_file | awk /^~/'{print $1","$2","$3","$4}' | sed -e 's/~//g'

hi All, cat file_name | awk /^~/'{print $1","$2","$3","$4}' | sed -e 's/~//g' Can this be done by using sed or awk alone (4 Replies)
Discussion started by: harshakusam
4 Replies

2. Shell Programming and Scripting

Simplify Bash Script Using "sed" Or "awk"

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

3. Shell Programming and Scripting

awk command to replace ";" with "|" and ""|" at diferent places in line of file

Hi, I have line in input file as below: 3G_CENTRAL;INDONESIA_(M)_TELKOMSEL;SPECIAL_WORLD_GRP_7_FA_2_TELKOMSEL My expected output for line in the file must be : "1-Radon1-cMOC_deg"|"LDIndex"|"3G_CENTRAL|INDONESIA_(M)_TELKOMSEL"|LAST|"SPECIAL_WORLD_GRP_7_FA_2_TELKOMSEL" Can someone... (7 Replies)
Discussion started by: shis100
7 Replies

4. UNIX for Dummies Questions & Answers

Unix "look" Command "File too large" Error Message

I am trying to find lines in a text file larger than 3 Gb that start with a given string. My command looks like this: $ look "string" "/home/patrick/filename.txt" However, this gives me the following message: "look: /home/patrick/filename.txt: File too large" So, I have two... (14 Replies)
Discussion started by: shishong
14 Replies

5. Shell Programming and Scripting

Using sed to find text between a "string " and character ","

Hello everyone Sorry I have to add another sed question. I am searching a log file and need only the first 2 occurances of text which comes after (note the space) "string " and before a ",". I have tried sed -n 's/.*string \(*\),.*/\1/p' filewith some, but limited success. This gives out all... (10 Replies)
Discussion started by: haggismn
10 Replies

6. Shell Programming and Scripting

how to use "cut" or "awk" or "sed" to remove a string

logs: "/home/abc/public_html/index.php" "/home/abc/public_html/index.php" "/home/xyz/public_html/index.php" "/home/xyz/public_html/index.php" "/home/xyz/public_html/index.php" how to use "cut" or "awk" or "sed" to get the following result: abc abc xyz xyz xyz (8 Replies)
Discussion started by: timmywong
8 Replies

7. Post Here to Contact Site Administrators and Moderators

Suggestion: adding two new groups "sed" and "awk"

Majority of the questions are pertaining file/string parsing w.r.t sed or awk It would be nice to have these two as their own sub category under shell-programming-scripting which can avoid lot of duplicate posts. (1 Reply)
Discussion started by: jville
1 Replies

8. Shell Programming and Scripting

sed returns error "sed: -e expression #1, char 18: unterminated `s' command"

Hello All, I have something like below LDC100/rel/prod/libinactrl.a LAA2000/rel/prod/libinactrl.a I want to remove till first forward slash that is outputshould be as below rel/prod/libinactrl.a rel/prod/libinactrl.a How can I do that ??? (8 Replies)
Discussion started by: anand.shah
8 Replies

9. Shell Programming and Scripting

Awk,sed : change every 2nd field ":" to "|"

Hi Experts, I have a string with colon delimited, want 2nd colon to be changed to a pipe. data: 101:8:43:4:72:14:41:69:85:3:137:4:3:0:4:0:9:3:0:3:12:3: I am trying with sed, but can change only 1 occurance: echo "101:8:43:4:72:14:41:69:85:3:137:4:3:0:4:0:9:3:0:3:12:3:" | sed 's/:/|/2'... (5 Replies)
Discussion started by: rveri
5 Replies

10. UNIX for Dummies Questions & Answers

Using "mailx" command to read "to" and "cc" email addreses from input file

How to use "mailx" command to do e-mail reading the input file containing email address, where column 1 has name and column 2 containing “To” e-mail address and column 3 contains “cc” e-mail address to include with same email. Sample input file, email.txt Below is an sample code where... (2 Replies)
Discussion started by: asjaiswal
2 Replies
Tangram::Type::TimeAndDate(3pm) 			User Contributed Perl Documentation			   Tangram::Type::TimeAndDate(3pm)

NAME
Tangram::Type::TimeAndDate - map date & time fields SYNOPSIS
use Tangram; # any of: use Tangram::Type::Date; # RAW - use with caution use Tangram::Type::Time; use Tangram::Type::Date::Cooked; # pure ISO-8601 use Tangram::Type::Date::DateTime; use Tangram::Type::Date::Manip; use Tangram::Type::Date::TimePiece; Tangram::Schema->new( classes => { NaturalPerson => { fields => { rawdatetime => [ qw( birth death ) ], rawdate => [ qw( depart return ) ], rawtime => [ qw( breakfast lunch dinner ) ], cookeddatetime => [ qw( cooked ) ], dmdatetime => [ qw( datemanip ) ], timepiece => [ qw( fob ) ], datetime => [ qw( bloat ) ], DESCRIPTION
These classes are responsible for mapping strings to SQL date or time types. These classes are not imported by Tangram.pm, thus they must be explicitly imported via a "use" directive. The three typetags "rawdate", "rawtime" and "rawdatetime" are for mapping strings to SQL date/time types, for databases that differentiate between "dates" and "times". 'Raw' means that Tangram doesn't attempt to interpret the strings, it merely passes them down to DBI. "cookeddatetime" is like "rawdatetime" except that the date is converted from the DBMS format to ISO-8601 in the form : YYYY-MM-DDTHH:MM:SS for example: 2004-12-25T13:14:15 Other modules then further cook this ISO date into an object as is the convention for a particular module. This only works with back-ends that allow per-connection settings for the default date format, such as Tangram::Driver::Oracle. On the way back out, the date is converted back to the DBMS format. This is achieved via vendor-specific functions mentioned in "Tan- gram::Relational". The persistent fields may be specified either as a hash or as an array of field names. In the hash form, each entry consists in a field name and an associated option hash. The option hash may contain the following fields: * col * sql "col" sets the name of the column used to store the field's value. This field is optional, it defaults to the persistent field name. Over- ride if the field name is not an acceptable SQL column name. "sql" sets the SQL type of the column. Used by Schema::deploy() when initializing a database. Defaults to 'VARCHAR(255) NULL' for strings, 'INT NULL' for ints and 'REAL NULL' for reals. The persistent fields may also be specified as an array of strings, in which case the defaults are used. perl v5.8.8 2006-03-29 Tangram::Type::TimeAndDate(3pm)
All times are GMT -4. The time now is 04:16 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy