01-31-2008
Finding nth occurrence in line and replacing it
Hi,
I have several files with data that have to be imported to a database. These files contain records with separator characters. Some records are corrupt (2 separators are missing) and I need to correct them prior to importing them into the db.
Example:
|field1|field2|field3|field4|field5|field6|field7|field8|field9|field10|field11|field12|||
|field1|field2|field3|field4|field5|field6|field7|field8|field9|field10|field11|field12|field13|fiel d14|field15
|field1|field2|field3|field4|field5|field6|field7|field8|field9|field10|field11|field12|field13
The records 1 and 2 are correct. They consist of 15 optional fields separated by 15 | characters.
Record 3 is corrupt since it's missing 2 separator characters ahead field13.
It should look like:
|field1|field2|field3|field4|field5|field6|field7|field8|field9|field10|field11|field12|||field13
How can I achieve this by using sed or awk or something else?
Any help is greatly appreciated!
TIA,
Stephan.
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
Hello All,
How to replace a string in nth line of a file using sed or awk.
For Ex: test.txt
Line 1 : TEST1 TEST2 TEST3
Line 2 : TEST1 TEST2 TEST3 TEST4
Line 3 : TEST1 TEST2 TEST3 TEST5
Line 4 : TEST1 TEST2 TEST3 TEST6
Line 5 : TEST1 TEST2 TEST3 TEST7
i want to go to 4th line of a... (1 Reply)
Discussion started by: maxmave
1 Replies
2. UNIX for Dummies Questions & Answers
I have several files (around 50) that have the similar format. I need to extract the 5th line from every file and output that into a text file. So far, I have been able to figure out how to do it for a single file:
$ awk 'NR==5' text1.txt > results.txt
OR
$ sed -n '5p' text1.txt > results.txt... (6 Replies)
Discussion started by: oriqin
6 Replies
3. Shell Programming and Scripting
Hi all,
assume that i am having the following line in a file called file1.
triumph and disaster must be treated same.
I want to replace this line with.
follow excellence success will chase you.
is it possible to do this using sed. if possible kindly post me the... (2 Replies)
Discussion started by: anishkumarv
2 Replies
4. Shell Programming and Scripting
Hi
I have requirement to find nth occurrence in a file and capture data from with in lines (between lines)
Data in File.
<QUOTE>
<SESSION>
<ATTRIBUTE NAME='Parameter Filename' VALUE='file1.parm'/>
<ATTRIBUTE NAME='Service Name' VALUE='None'/>
</SESSION>
<SESSION>
<ATTRIBUTE... (6 Replies)
Discussion started by: tmalik79
6 Replies
5. Shell Programming and Scripting
There is already one thread with the same heading. But here the case is little different.
i have a line which have a field separator '|'
abc|def|ghi|jkl|mno|pqr|stu|vwx|yz
I want to replace every 3rd occurance + next character with the same + newline character.. I mean i want to enter a... (6 Replies)
Discussion started by: ratheeshjulk
6 Replies
6. Shell Programming and Scripting
Greetings experts. Searched the forums (perhaps not hard enough?) - Am searching for a method to capture all output from a log file following the nth occurrence of a known string.
Background:
Using bash, I want to monitor my Oracle DB alert log file. The script will count the total # of... (2 Replies)
Discussion started by: cjtravis
2 Replies
7. Shell Programming and Scripting
Hi,
I am getting crazy after days on looking at it:
Bash in Ubuntu 12.04.1
I want to do this:
pattern="system /path1/file1 file1"
new_pattern=" data /path2/file2 file2"
file to edit: data.db
- I need to search in the file data.db for the nth occurrence of pattern
- pattern must... (14 Replies)
Discussion started by: Phil3759
14 Replies
8. Shell Programming and Scripting
Please can someone help with this?
I have a file with lines as follows:
word1 word2 word3 word4 word5 word6 word7 word8
word1 word2 word3 word4 word5 word6 word7 word8
word1 word2 word3 word4 word5 word6 word7 word8
word1 word2 word3 word4 word5 word6 word7 word8
When I use the... (7 Replies)
Discussion started by: Subhadeep_Sahu
7 Replies
9. Shell Programming and Scripting
Hi All,
I am very new to shell scripting and tried to search this in the forum but no luck.
Requirment:
I have an input file which is comma separated. I need to replace the value in 4th column with another value. This has to happen for all the lines in the file.
Sample data:
Input... (2 Replies)
Discussion started by: arunkumarsd
2 Replies
10. Shell Programming and Scripting
Hello,
Below command trims right after the nth occurrence of a string.
When I try in while loop, it is not working.
In Terminal
IFS=/ ; read -ra val < Textfile ; echo "${val:0:3}"
It gives only one line:
sunday/monday/tuesday
Textfile:
sunday/monday/tuesday/wednesday/thursday... (2 Replies)
Discussion started by: baris35
2 Replies
LEARN ABOUT DEBIAN
webservice::cia
WebService::CIA(3pm) User Contributed Perl Documentation WebService::CIA(3pm)
NAME
WebService::CIA - Get information from the CIA World Factbook.
SYNOPSIS
use WebService::CIA;
use WebService::CIA::Source::DBM;
use WebService::CIA::Source::Web;
# Get data from a pre-compiled DBM file
my $source = WebService::CIA::Source::DBM->new({ DBM => "factbook.dbm" });
my $cia = WebService::CIA->new({ Source => $source });
$fact = $cia->get("uk", "Population");
print $fact;
# Get data direct from the CIA World Factbook
my $source = WebService::CIA::Source::Web->new();
my $cia = WebService::CIA->new({ Source => $source });
$fact = $cia->get("uk", "Population");
print $fact;
DESCRIPTION
A module which gets information from the CIA World Factbook.
Crypt::SSLeay
The most recent version of the CIA World Factbook uses HTTPS to access its web pages. As such, WebService::CIA requires Crypt::SSLeay which
suffers from the usual cryptographic export restriction mumbo jumbo. Sorry about that.
Users of ActiveState's ActivePerl should see <http://aspn.activestate.com/ASPN/Downloads/ActivePerl/PPM/Repository> for instructions on
downloading a PPM of Crypt::SSLeay.
METHODS
"new(\%opts)"
Creates a new WebService::CIA object. Takes a hashref, which must contain a "Source" key whose value is a WebService::CIA::Storage
object.
"get($country_code, $field)"
This method retrieves information from the store.
It takes two arguments: a country code (as defined in FIPS 10-4 on <https://www.cia.gov/library/publications/the-world-factbook/appen-
dix/appendix-d.html>, e.g. "uk", "us") and a field name (as defined in <https://www.cia.gov/library/publications/the-world-fact-
book/docs/notesanddefs.html>, e.g. "Population", "Agriculture - products"). (WebService::CIA::Parser also creates four extra fields:
"URL", "URL - Print", "URL - Flag", and "URL - Map" which are the URLs of the country's Factbook page, the printable version of that
page, a GIF map of the country, and a GIF flag of the country respectively.)
The field name is very case and punctuation sensitive.
It returns the value of the field, or "undef" if the field or country isn't in the store.
Note that when using WebService::CIA::Store::Web, "get" will also return "undef" if there is an error getting the page.
"get_hashref(@countries, @fields)"
This method takes two arguments: an arrayref of country codes and an arrayref of field names.
It returns a hashref of the form
{
'country1' => {
'field1' => 'value',
'field2' => 'value'
},
'country2' => {
'field1' => 'value',
'field2' => 'value'
}
}
"get_all_hashref(@countries)"
Get all the fields available for countries.
It takes one argument, an arrayref of country codes.
It returns a hashref similar to the one from "get_hashref" above, containing all the fields available for each country.
"source()"
Get a reference to the WebService::CIA::Source object in use.
CONFIGURATION VARIABLES
$WebService::CIA::base_url
Sets the base URL for the Factbook (currently "https://www.cia.gov/library/publications/the-world-factbook/"). If the Factbook changes
location, this can be changed to point to the new location (assuming the relative structure of the Factbook is unchanged).
AUTHOR
Ian Malpass (ian-cpan@indecorous.com)
COPYRIGHT
Copyright 2003-2007, Ian Malpass
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
The CIA World Factbook's copyright information page (<https://www.cia.gov/library/publications/the-world-factbook/docs/contributor_copy-
right.html>) states:
The Factbook is in the public domain. Accordingly, it may be copied
freely without permission of the Central Intelligence Agency (CIA).
SEE ALSO
WebService::CIA::Parser, WebService::CIA::Source::DBM, WebService::CIA::Source::Web
perl v5.8.8 2008-02-04 WebService::CIA(3pm)