Sponsored Content
Top Forums Programming find() doesn't find '|' for some reason Post 302482224 by sepoto on Tuesday 21st of December 2010 01:09:48 AM
Old 12-21-2010
Computer find() doesn't find '|' for some reason

Here's some sample output and my code follows it. Why can't find() find '|'. It just dosn't make a bit of sense at all.

Code:
AL01463|Pell City|Saint Clair|B|02115|AL|35125|630|Birmingham (Ann and  Tusc)|13890|40|Charter Communications|Fairfield|Charter Communications|2

-1
AL01463|Pinson|Jefferson|B|02073|AL|35126|630|Birm  ingham (Ann and  Tusc)|13890|40|Charter Communications|Fairfield|Charter Communications|2

-1
AL01463|Pleasant Grove|Jefferson|B|02073|AL|35127|630|Birmingham (Ann  and Tusc)|13890|40|Charter Communications|Fairfield|Charter  Communications|2

-1
AL01463|Pleasant Grv|Jefferson|B|02073|AL|35127|630|Birmingham (Ann and  Tusc)|13890|40|Charter Communications|Fairfield|Charter Communications|2

----------------------------------------------------------------------------------------------
I'm calling StringExplode. That's the couts I posted above.

Code:
#include </usr/include/mysql++/mysql++.h>
#include <stdio.h>
#include <iostream>
#include <fstream>
#include <sstream>
#include <string>
#include <vector>

using namespace std;

void StringExplode(string str, string separator, vector<string>* results){
    std::cout << str << endl;
    int found;
    found = str.find(separator);
    while(found != string::npos){
        if(found > 0){
            results->push_back(str.substr(0,found));
        }
        str = str.substr(found+1);
        found = str.find_first_of(separator);
    }
    if(str.length() > 0){
        results->push_back(str);
    }
    std::cout << found << endl;
}


Last edited by pludi; 12-21-2010 at 07:23 AM.. Reason: code tags please
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

How to find size of each subdirect? du -sk | ls doesn't work

Using solaris 2.5.1, and how can I get a summary of the size of each subdirectory, say for /export/home, all the users? usually I do a du -sk dirname but I have to manually type in each name, is there a better way? Thanks, (3 Replies)
Discussion started by: kymberm
3 Replies

2. Shell Programming and Scripting

perl - how do i find out if a file doesn't contain a pattern?

how do i check a file for a pattern and perform an action if it doesn't exist? i know how to search a file for a pattern. you just place it in an array like so. #!/usr/bin/perl my $data_file = "file.txt"; open DATA, "$data_file"; my @array_of_data = <DATA>; if ($_ =~ m/pattern/i) {... (4 Replies)
Discussion started by: mjays
4 Replies

3. UNIX for Dummies Questions & Answers

For some reason, my grep doesn't work as expected

I am trying to find only those entries where 7018 and another number appear in the end of the line. 7018 2828 1423 2351 7018 2828 14887 2828 7018 1222 123 7018 1487 I am looking for a way to generate only the last two lines. I was trying to do just "grep '7018{1,5}" but it does not... (5 Replies)
Discussion started by: Legend986
5 Replies

4. UNIX for Dummies Questions & Answers

find command in shell script doesn't work

Hello all, Something strange going on with a shell script I'm writing. It's trying to write a list of files that it finds in a given directory to another file. But I also have a skip list so matching files that are in that skip list should be, well uhm, skipped :) Here's the code of my... (2 Replies)
Discussion started by: StijnV
2 Replies

5. OS X (Apple)

OS X 'find' nogroup/nouser doesn't traverse directories?

flamingo:~ joliver$ sudo find / -nogroup find: /dev/fd/4: No such file or directory find: /home: No such file or directory find: /Library: No such file or directory find: /net: No such file or directory find: /Network: No such file or directory find: /private: No such file or directory find:... (2 Replies)
Discussion started by: jnojr
2 Replies

6. Shell Programming and Scripting

Why regex pattern doesn't work in find?

$ find /opt/data_* -maxdepth 3 -type d -name "main*" 2> /dev/null /opt/data_025/maindblogs /opt/data_026/maindblogs /opt/data_027/maindblogs /opt/data_028/maindblogs $ find /opt/data_* -maxdepth 3 -type d -name "rvlogs*" 2> /dev/null /opt/data_002/prod/rvlogs2_archive... (4 Replies)
Discussion started by: urello
4 Replies

7. SuSE

Find command doesn't pipe the output as required.

Hi, I am using below code snippet to echo/display the files found (matching a pattern from searchstring.out file) and the corresponding owner. while read j do echo "Pattern to search is:- $j" find / -name "*$j*" |\ while read k do echo "File found is:- $k" owner=$(ls... (9 Replies)
Discussion started by: Vipin Batra
9 Replies

8. HP-UX

Find command doesn't return in shell script.

Hi All, I am using below snippet to search for a string (read from a file 'searchstring.out') in all locations (/) and then iterate over the files found to write the locations and the respective owner to an output file. However, this doesn't work as I believe the find command doesn't exit's... (11 Replies)
Discussion started by: Vipin Batra
11 Replies

9. UNIX for Beginners Questions & Answers

Grep doesn't find what it should

Dear all, I wanted to use grep to search some files containing code - and the result was very disappointing: although I could see with my own eyes the expressions (written in the files), grep didn't give any output. Basically, I write this to the terminal grep "Find" *.txtor grep Find... (2 Replies)
Discussion started by: radudownload
2 Replies

10. Homework & Coursework Questions

Java doesnīt find the CLASSPATH (System variable)

1. The problem statement, all variables and given/known data: As a excercise I have to compile a program (Hello2.java) with a class file (HelloText.java) in another directory. (As you seen in the screenshot) Iīm setting a PATH and a CLASSPATH (system variables). Itīs working without a... (2 Replies)
Discussion started by: MenschTown
2 Replies
File::Find::Rule::Procedural(3) 			User Contributed Perl Documentation			   File::Find::Rule::Procedural(3)

NAME
File::Find::Rule::Procedural - File::Find::Rule's procedural interface SYNOPSIS
use File::Find::Rule; # find all .pm files, procedurally my @files = find(file => name => '*.pm', in => @INC); DESCRIPTION
In addition to the regular object-oriented interface, File::Find::Rule provides two subroutines for you to use. "find( @clauses )" "rule( @clauses )" "find" and "rule" can be used to invoke any methods available to the OO version. "rule" is a synonym for "find" Passing more than one value to a clause is done with an anonymous array: my $finder = find( name => [ '*.mp3', '*.ogg' ] ); "find" and "rule" both return a File::Find::Rule instance, unless one of the arguments is "in", in which case it returns a list of things that match the rule. my @files = find( name => [ '*.mp3', '*.ogg' ], in => $ENV{HOME} ); Please note that "in" will be the last clause evaluated, and so this code will search for mp3s regardless of size. my @files = find( name => '*.mp3', in => $ENV{HOME}, size => '<2k' ); ^ | Clause processing stopped here ------/ It is also possible to invert a single rule by prefixing it with "!" like so: # large files that aren't videos my @files = find( file => '!name' => [ '*.avi', '*.mov' ], size => '>20M', in => $ENV{HOME} ); AUTHOR
Richard Clamp <richardc@unixbeard.net> COPYRIGHT
Copyright (C) 2003 Richard Clamp. All Rights Reserved. This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself. SEE ALSO
File::Find::Rule perl v5.16.3 2011-09-19 File::Find::Rule::Procedural(3)
All times are GMT -4. The time now is 03:13 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy