Sponsored Content
Top Forums Shell Programming and Scripting Combining find, grep and possibly ls?! Post 302564311 by cs03dmj on Thursday 13th of October 2011 10:05:11 AM
Old 10-13-2011
SunOS & Korn or Bash Shell

An example. The following files contain the word "pet":
Code:
archive_file.csv
file_2.csv
file_3.csv

Here they are in the directory structure:
Code:
/directory_1/
---animal/
------file_1.csv
------archive_file.csv
------directory_3/
---------file_4.csv
/directory_2/
---animal/
------file_2.csv
---archive/
------animal/
---------file_3.csv

I would only expect the command to return:
Code:
/directory_1/animal/archive_file.csv
/directory_2/animal/file_2.csv

...because "file_3.csv" is under an "archive" sub-directory.
 

9 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

stupid question possibly

how would I search through subdirectories under the current directory and delete all files in certain directories. in ThisDirectory.... want to go into foundMe directory which there are several in other subdirectories and delete all files in foundMe ? thank you... (1 Reply)
Discussion started by: MrJaunty
1 Replies

2. Solaris

Why in.mpathd errors - performance possibly?

Hello all, Run a search but see no previous queries. Trying to get to the bottom of why a server running Solaris 9 reports the following every other day: lonpcbcfp1:Jun 20 16:33:20 lonpcbcfp1 in.mpathd: missed sending 17 probes cur_time 1478014085 snxt_time 1478015026 snxt_basetime 1478014018... (0 Replies)
Discussion started by: bookiebarton
0 Replies

3. UNIX for Dummies Questions & Answers

Combining find, grep and gzip

I'm trying to see which files have a particular word in them. The files are all text files but are gzipped and are in sub directories. In order to view the content of a single gzipped file I tried: cat filename | gzip -d | less , and it shows the files contents. But, I want to see a list... (1 Reply)
Discussion started by: thoughts
1 Replies

4. UNIX for Dummies Questions & Answers

Comparing Two Files, Possibly with VIM

Hello, I have a problem comparing two files, both .csv. One file, let's call it files.csv, contains a list of thousands of file names for models of molecules that have made it through an optimization process. The other file, formulas.csv, contains file names for the same kind of models, and has... (2 Replies)
Discussion started by: Stuart Ness
2 Replies

5. UNIX for Dummies Questions & Answers

$PATH error (possibly)

Upon opening Terminal I get the following message: -bash: /usr/bin/manpath: No such file or directory -bash: /usr/bin/perl: No such file or directory -bash: grep: command not found -bash: grep: command not found -bash: grep: command not found -bash: grep: command not found I searched... (9 Replies)
Discussion started by: SartreSmartre
9 Replies

6. Shell Programming and Scripting

FIND: Combining -size & -prune

I am having an issue adding the -size test to my find command. I am trying to find all files smaller than 250mb, that are not in .snapsnot or man directories. What i started with find . -xdev -type d \( -name man -o -name .snapshot \) -prune -o -type f What I have tried..unsuccessfully... (4 Replies)
Discussion started by: nitrobass24
4 Replies

7. HP-UX

Cdrom device possibly missing?

Hello, I am following the HPUX 11.31 install/update guide and I am trying to install "Update-UX" from the installation media. I put the CD into the drive, and I am trying to mount the device. The instructions state:Find the DVD-ROM device file name: ioscan -C disk -f -n -k | more A typical... (5 Replies)
Discussion started by: bstring
5 Replies

8. UNIX for Dummies Questions & Answers

Combining grep patterns with OR condition?!

Hello! I have a question about how to combine patterns in grep commands with the OR operator. So I have this little assignment here: Provide a regular expression that matches email addresses for San Jose City College faculty. A San Jose City college faculty’s email address takes the form:... (1 Reply)
Discussion started by: kalpcalp
1 Replies

9. Shell Programming and Scripting

How would I construct a (possibly simple) IF statement?

Hi all, I thought this would be simple, but I've been having a lot of trouble trying to write this IF statement, if I may ask for help pls: In BASH, how would I construct the if statement: Should ONLY be true if USEROPTscript=="yes"]] AND $mode=="INSTALL" /or/ $mode=="CHANGE" ]]... (3 Replies)
Discussion started by: jmccoughlin
3 Replies
csv(n)								  CSV processing							    csv(n)

NAME
csv - Procedures to handle CSV data. SYNOPSIS
package require Tcl 8.3 package require csv ?0.3? ::csv::join values {sepChar ,} ::csv::joinlist values {sepChar ,} ::csv::read2matrix chan m {sepChar ,} {expand none} ::csv::read2queue chan q {sepChar ,} ::csv::report cmd matrix ?chan? ::csv::split line {sepChar ,} ::csv::split2matrix m line {sepChar ,} {expand none} ::csv::split2queue q line {sepChar ,} ::csv::writematrix m chan {sepChar ,} ::csv::writequeue q chan {sepChar ,} DESCRIPTION
The csv package provides commands to manipulate information in CSV FORMAT (CSV = Comma Separated Values). COMMANDS
The following commands are available: ::csv::join values {sepChar ,} Takes a list of values and returns a string in CSV format containing these values. The separator character can be defined by the caller, but this is optional. The default is ",". ::csv::joinlist values {sepChar ,} Takes a list of lists of values and returns a string in CSV format containing these values. The separator character can be defined by the caller, but this is optional. The default is ",". Each element of the outer list is considered a record, these are separated by newlines in the result. The elements of each record are formatted as usual (via ::csv::join). ::csv::read2matrix chan m {sepChar ,} {expand none} A wrapper around ::csv::split2matrix (see below) reading CSV-formatted lines from the specified channel (until EOF) and adding them to the given matrix. For an explanation of the expand argument see ::csv::split2matrix. ::csv::read2queue chan q {sepChar ,} A wrapper around ::csv::split2queue (see below) reading CSV-formatted lines from the specified channel (until EOF) and adding them to the given queue. ::csv::report cmd matrix ?chan? A report command which can be used by the matrix methods format 2string and format 2chan. For the latter this command delegates the work to ::csv::writematrix. cmd is expected to be either printmatrix or printmatrix2channel. The channel argument, chan, has to be present for the latter and must not be present for the first. ::csv::split line {sepChar ,} converts a line in CSV format into a list of the values contained in the line. The character used to separate the values from each other can be defined by the caller, via sepChar, but this is optional. The default is ",". ::csv::split2matrix m line {sepChar ,} {expand none} The same as ::csv::split, but appends the resulting list as a new row to the matrix m, using the method add row. The expansion mode specified via expand determines how the command handles a matrix with less columns than contained in line. The allowed modes are: none This is the default mode. In this mode it is the responsibility of the caller to ensure that the matrix has enough columns to contain the full line. If there are not enough columns the list of values is silently truncated at the end to fit. empty In this mode the command expands an empty matrix to hold all columns of the specified line, but goes no further. The overall effect is that the first of a series of lines determines the number of columns in the matrix and all following lines are truncated to that size, as if mode none was set. auto In this mode the command expands the matrix as needed to hold all columns contained in line. The overall effect is that after adding a series of lines the matrix will have enough columns to hold all columns of the longest line encountered so far. ::csv::split2queue q line {sepChar ,} The same as ::csv::split, but appending the resulting list as a single item to the queue q, using the method put. ::csv::writematrix m chan {sepChar ,} A wrapper around ::csv::join taking all rows in the matrix m and writing them CSV formatted into the channel chan. ::csv::writequeue q chan {sepChar ,} A wrapper around ::csv::join taking all items in the queue q (assumes that they are lists) and writing them CSV formatted into the channel chan. FORMAT
Each record of a csv file (comma-separated values, as exported e.g. by Excel) is a set of ASCII values separated by ",". For other lan- guages it may be ";" however, although this is not important for this case (The functions provided here allow any separator character). If a value contains itself the separator ",", then it (the value) is put between "". If a value contains ", it is replaced by "". EXAMPLE
The record 123,"123,521.2","Mary says ""Hello, I am Mary""" is parsed as follows: a) 123 b) 123,521.2 c) Mary says "Hello, I am Mary" SEE ALSO
matrix, queue KEYWORDS
csv, matrix, queue, package, tcllib csv 0.3 csv(n)
All times are GMT -4. The time now is 12:48 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy