Sponsored Content
Full Discussion: List of file names
Top Forums Shell Programming and Scripting List of file names Post 302494189 by kristinu on Sunday 6th of February 2011 02:59:00 AM
Old 02-06-2011
List of file names

I have the following list of file names stored in $fnames, so that if I do

Code:
 
  foreach f ($fnames)
    echo "$f"
  end

I will get

Code:
n02-z30-sr65-rgdt0p50-dc0p002-16x12drw-run1
n02-z30-sr65-rgdt0p50-dc0p002-16x12drw-run2
n02-z30-sr65-rgdt0p50-dc0p002-16x12drw-run3
n02-z30-sr65-rgdt0p50-dc0p002-16x12drw-run4
n02-z30-sr65-rgdt0p50-dc0p002-16x12drw-run5
n02-z30-sr65-rgdt0p50-dc0p002-16x12drw-run6
n02-z30-sr65-rgdt0p50-dc0p004-16x12drw-run1
n02-z30-sr65-rgdt0p50-dc0p004-16x12drw-run2
n02-z30-sr65-rgdt0p50-dc0p004-16x12drw-run3
n02-z30-sr65-rgdt0p50-dc0p004-16x12drw-run4
n02-z30-sr65-rgdt0p50-dc0p004-16x12drw-run5
n02-z30-sr65-rgdt0p50-dc0p004-16x12drw-run6
n02-z30-sr65-rgdt0p50-dc0p006-16x12drw-run1
n02-z30-sr65-rgdt0p50-dc0p006-16x12drw-run2
n02-z30-sr65-rgdt0p50-dc0p006-16x12drw-run3
n02-z30-sr65-rgdt0p50-dc0p006-16x12drw-run4
n02-z30-sr65-rgdt0p50-dc0p006-16x12drw-run5
n02-z30-sr65-rgdt0p50-dc0p006-16x12drw-run6
n02-z30-sr65-rgdt0p50-dc0p006-16x12drw-run7
n02-z30-sr65-rgdt0p50-dc0p008-16x12drw-run1
n02-z30-sr65-rgdt0p50-dc0p008-16x12drw-run2
n02-z30-sr65-rgdt0p50-dc0p008-16x12drw-run3
n02-z30-sr65-rgdt0p50-dc0p008-16x12drw-run4
n02-z30-sr65-rgdt0p50-dc0p008-16x12drw-run5
n02-z30-sr65-rgdt0p50-dc0p008-16x12drw-run6
n02-z30-sr65-rgdt0p50-dc0p008-16x12drw-run7
n02-z30-sr65-rgdt0p50-dc0p01-16x12drw-run1
n02-z30-sr65-rgdt0p50-dc0p01-16x12drw-run2
n02-z30-sr65-rgdt0p50-dc0p01-16x12drw-run3
n02-z30-sr65-rgdt0p50-dc0p01-16x12drw-run4
n02-z30-sr65-rgdt0p50-dc0p01-16x12drw-run5
n02-z30-sr65-rgdt0p50-dc0p01-16x12drw-run6

I want to create a list of the various filenames without the -run tag.

In other words, I want to have the list

Code:
n02-z30-sr65-rgdt0p50-dc0p002-16x12drw
n02-z30-sr65-rgdt0p50-dc0p004-16x12drw
n02-z30-sr65-rgdt0p50-dc0p006-16x12drw
n02-z30-sr65-rgdt0p50-dc0p008-16x12drw
n02-z30-sr65-rgdt0p50-dc0p01-16x12drw

 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

How to Pass a list of file names to ls

Hi I have a list of file names generated from a find command. The list does not show complete file information. I would like to do this: generate the list of file names pass each file name generated to ls -l command what is the best way to do this without a script? I have tried... (2 Replies)
Discussion started by: GMMike
2 Replies

2. AIX

find for specific content in file in the directory and list only file names

Hi, I am trying to find the content of file using grep and find command and list only the file names but i am getting entire file list of files in the directory find . -exec grep "test" {} \; -ls Can anyone of you correct this (2 Replies)
Discussion started by: madhu_Jagarapu
2 Replies

3. UNIX for Dummies Questions & Answers

Get List of Unique File Names

I have a large directory of web pages. I am doing a search through the web pages using grep and would like to get a list of unique file names of search results. The following command works fine to give me a list of file names where term appears: grep -l term *.html However, since these are... (3 Replies)
Discussion started by: rjulich
3 Replies

4. UNIX for Dummies Questions & Answers

Help with list of latest file names

Hi Gurus, I need to list only those files which are most recent and the latest log file. For example if I have the following file list: JOB001.LOG_00uv02_00006 - Jul 7 12:16 JOB001.LOG_00vi0t_00001 - Aug 4 21:58 JOB001.LOG_00vi0t_00002 - Aug 5 09:15 JOB001.LOG_00vi0t_00003 - Aug 5... (6 Replies)
Discussion started by: shash
6 Replies

5. Shell Programming and Scripting

get file names from the list

Hi Experts, Here is my scenario: Am maintaining a file which has list of logs with complete path and file names like bleow a/b/c/Daily/file1_20111012.log d/e/f/Monthly/file1_20111001.log g/h/Daily/file1_20110120.log i/Daily/file1_20110220.log How to copy the file names frm the list... (7 Replies)
Discussion started by: laxm
7 Replies

6. Shell Programming and Scripting

How to get the dates from a list of file names?

Hi All, I have a .txt file with the list of filenames as given below. /dev_data/dev3/ctl/20120622_Employee.txt /dev_data/dev3/ctl/20120623_Employee.txt /dev_data/dev3/ctl/20120624_Employee.txt I want to read this file & write the dates alone from the filenames into a .done file. ... (6 Replies)
Discussion started by: dsfreddie
6 Replies

7. Shell Programming and Scripting

List the file names that differ

Hello, I have two directories - prev and current . They both have same multiple subdirectories and files. Now the current directory can have some updated files and some new files added that is not in prev. I want to find the list of file names that differ. I am doing this because i can not... (2 Replies)
Discussion started by: jakSun8
2 Replies

8. UNIX for Dummies Questions & Answers

List Directory names which have the file

Hi All, Can any one help me to list out the directory names which contain the specified file. See for example File name : file.201307014.LKT Have the directory structure as below. /app/work/data/INDIA/file.201307014.LKT /app/work/data/AMERICA/file.201307014.KTP... (5 Replies)
Discussion started by: Balasankar
5 Replies

9. Shell Programming and Scripting

List the file names available on FTP server before selecting the required file

Below is my script code.which shows the environment name and then fetch the file from the ftp server but I am facing one issue.The script should be run in both way.We can pass the arguments with script and select the environment name then file name.Here the issue is I am not able to list the files... (1 Reply)
Discussion started by: anuragpgtgerman
1 Replies

10. Shell Programming and Scripting

While loop a file containing list of file names until the files are found?

Hi, I have a control file which will contain all filenames(300) files. Loop through all the file names in the control files and check the existence of this file in another directory(same server). I need to infinitely(2 hrs) run this while loop until all the files are found. Once a file is found,... (5 Replies)
Discussion started by: laknar
5 Replies
IPC::Run3(3pm)						User Contributed Perl Documentation					    IPC::Run3(3pm)

NAME
IPC::Run3 - run a subprocess with input/ouput redirection VERSION
version 0.045 SYNOPSIS
use IPC::Run3; # Exports run3() by default run3 @cmd, $in, $out, $err; DESCRIPTION
This module allows you to run a subprocess and redirect stdin, stdout, and/or stderr to files and perl data structures. It aims to satisfy 99% of the need for using "system", "qx", and "open3" with a simple, extremely Perlish API. Speed, simplicity, and portability are paramount. (That's speed of Perl code; which is often much slower than the kind of buffered I/O that this module uses to spool input to and output from the child command.) "run3($cmd, $stdin, $stdout, $stderr, \%options)" All parameters after $cmd are optional. The parameters $stdin, $stdout and $stderr indicate how the child's corresponding filehandle ("STDIN", "STDOUT" and "STDERR", resp.) will be redirected. Because the redirects come last, this allows "STDOUT" and "STDERR" to default to the parent's by just not specifying them -- a common use case. "run3" throws an exception if the wrapped "system" call returned -1 or anything went wrong with "run3"'s processing of filehandles. Otherwise it returns true. It leaves $? intact for inspection of exit and wait status. Note that a true return value from "run3" doesn't mean that the command had a successful exit code. Hence you should always check $?. See "%options" for an option to handle the case of "system" returning -1 yourself. $cmd Usually $cmd will be an ARRAY reference and the child is invoked via system @$cmd; But $cmd may also be a string in which case the child is invoked via system $cmd; (cf. "system" in perlfunc for the difference and the pitfalls of using the latter form). $stdin, $stdout, $stderr The parameters $stdin, $stdout and $stderr can take one of the following forms: "undef" (or not specified at all) The child inherits the corresponding filehandle from the parent. run3 @cmd, $stdin; # child writes to same STDOUT and STDERR as parent run3 @cmd, undef, $stdout, $stderr; # child reads from same STDIN as parent "undef" The child's filehandle is redirected from or to the local equivalent of "/dev/null" (as returned by "File::Spec->devnull()"). run3 @cmd, undef, $stdout, $stderr; # child reads from /dev/null a simple scalar The parameter is taken to be the name of a file to read from or write to. In the latter case, the file will be opened via open FH, ">", ... i.e. it is created if it doesn't exist and truncated otherwise. Note that the file is opened by the parent which will croak in case of failure. run3 @cmd, undef, "out.txt"; # child writes to file "out.txt" a filehandle (either a reference to a GLOB or an "IO::Handle") The filehandle is inherited by the child. open my $fh, ">", "out.txt"; print $fh "prologue "; ... run3 @cmd, undef, $fh; # child writes to $fh ... print $fh "epilogue "; close $fh; a SCALAR reference The referenced scalar is treated as a string to be read from or written to. In the latter case, the previous content of the string is overwritten. my $out; run3 @cmd, undef, $out; # child writes into string run3 @cmd, <<EOF; # child reads from string (can use "here" notation) Input to child EOF an ARRAY reference For $stdin, the elements of @$stdin are simply spooled to the child. For $stdout or $stderr, the child's corresponding file descriptor is read line by line (as determined by the current setting of $/) into @$stdout or @$stderr, resp. The previous content of the array is overwritten. my @lines; run3 @cmd, undef, @lines; # child writes into array a CODE reference For $stdin, &$stdin will be called repeatedly (with no arguments) and the return values are spooled to the child. &$stdin must signal the end of input by returning "undef". For $stdout or $stderr, the child's corresponding file descriptor is read line by line (as determined by the current setting of $/) and &$stdout or &$stderr, resp., is called with the contents of the line. Note that there's no end-of-file indication. my $i = 0; sub producer { return $i < 10 ? "line".$i++." " : undef; } run3 @cmd, &producer; # child reads 10 lines Note that this form of redirecting the child's I/O doesn't imply any form of concurrency between parent and child - run3()'s method of operation is the same no matter which form of redirection you specify. If the same value is passed for $stdout and $stderr, then the child will write both "STDOUT" and "STDERR" to the same filehandle. In general, this means that run3 @cmd, undef, "foo.txt", "foo.txt"; run3 @cmd, undef, $both, $both; will DWIM and pass a single file handle to the child for both "STDOUT" and "STDERR", collecting all into file "foo.txt" or $both. "\%options" The last parameter, "\%options", must be a hash reference if present. Currently the following keys are supported: "binmode_stdin", "binmode_stdout", "binmode_stderr" The value must a "layer" as described in "binmode" in perlfunc. If specified the corresponding parameter $stdin, $stdout or $stderr, resp., operates with the given layer. For backward compatibility, a true value that doesn't start with ":" (e.g. a number) is interpreted as ":raw". If the value is false or not specified, the default is ":crlf" on Windows and ":raw" otherwise. Don't expect that values other than the built-in layers ":raw", ":crlf", and (on newer Perls) ":bytes", ":utf8", ":encoding(...)" will work. "append_stdout", "append_stderr" If their value is true then the corresponding parameter $stdout or $stderr, resp., will append the child's output to the existing "contents" of the redirector. This only makes sense if the redirector is a simple scalar (the corresponding file is opened in append mode), a SCALAR reference (the output is appended to the previous contents of the string) or an ARRAY reference (the output is "push"ed onto the previous contents of the array). "return_if_system_error" If this is true "run3" does not throw an exception if "system" returns -1 (cf. "system" in perlfunc for possible failure scenarios.), but returns true instead. In this case $? has the value -1 and $! contains the errno of the failing "system" call. HOW IT
WORKS(1) For each redirector $stdin, $stdout, and $stderr, "run3()" furnishes a filehandle: o if the redirector already specifies a filehandle it just uses that o if the redirector specifies a filename, "run3()" opens the file in the appropriate mode o in all other cases, "run3()" opens a temporary file (using tempfile) (2) If "run3()" opened a temporary file for $stdin in step(1), it writes the data using the specified method (either from a string, an array or returnd by a function) to the temporary file and rewinds it.(3) "run3()" saves the parent's "STDIN", "STDOUT" and "STDERR" by duplicating them to new filehandles. It duplicates the filehandles from step(1) to "STDIN", "STDOUT" and "STDERR", resp.(4) "run3()" runs the child by invoking system with $cmd as specified above.(5) "run3()" restores the parent's "STDIN", "STDOUT" and "STDERR" saved in step(3). (6) If "run3()" opened a temporary file for $stdout or $stderr in step(1), it rewinds it and reads back its contents using the specified method (either to a string, an array or by calling a function). (7) "run3()" closes all filehandles that it opened explicitly in step(1). Note that when using temporary files, "run3()" tries to amortize the overhead by reusing them (i.e. it keeps them open and rewinds and truncates them before the next operation). LIMITATIONS
Often uses intermediate files (determined by File::Temp, and thus by the File::Spec defaults and the TMPDIR env. variable) for speed, portability and simplicity. Use extrem caution when using "run3" in a threaded environment if concurrent calls of "run3" are possible. Most likely, I/O from different invocations will get mixed up. The reason is that in most thread implementations all threads in a process share the same STDIN/STDOUT/STDERR. Known failures are Perl ithreads on Linux and Win32. Note that "fork" on Win32 is emulated via Win32 threads and hence I/O mix up is possible between forked children here ("run3" is "fork safe" on Unix, though). DEBUGGING
To enable debugging use the IPCRUN3DEBUG environment variable to a non-zero integer value: $ IPCRUN3DEBUG=1 myapp PROFILING
To enable profiling, set IPCRUN3PROFILE to a number to enable emitting profile information to STDERR (1 to get timestamps, 2 to get a summary report at the END of the program, 3 to get mini reports after each run) or to a filename to emit raw data to a file for later analysis. COMPARISON
Here's how it stacks up to existing APIs: compared to "system()", "qx''", "open "...|"", "open "|..."" o better: redirects more than one file descriptor o better: returns TRUE on success, FALSE on failure o better: throws an error if problems occur in the parent process (or the pre-exec child) o better: allows a very perlish interface to Perl data structures and subroutines o better: allows 1 word invocations to avoid the shell easily: run3 ["foo"]; # does not invoke shell o worse: does not return the exit code, leaves it in $? compared to "open2()", "open3()" o better: no lengthy, error prone polling/select loop needed o better: hides OS dependencies o better: allows SCALAR, ARRAY, and CODE references to source and sink I/O o better: I/O parameter order is like "open3()" (not like "open2()"). o worse: does not allow interaction with the subprocess compared to IPC::Run::run() o better: smaller, lower overhead, simpler, more portable o better: no select() loop portability issues o better: does not fall prey to Perl closure leaks o worse: does not allow interaction with the subprocess (which IPC::Run::run() allows by redirecting subroutines) o worse: lacks many features of "IPC::Run::run()" (filters, pipes, redirects, pty support) COPYRIGHT
Copyright 2003, R. Barrie Slaymaker, Jr., All Rights Reserved LICENSE
You may use this module under the terms of the BSD, Artistic, or GPL licenses, any version. AUTHOR
Barrie Slaymaker <"barries@slaysys.com"> Ricardo SIGNES <"rjbs@cpan.org"> performed routine maintenance since 2010, thanks to help from the following ticket and/or patch submitters: Jody Belka, Roderich Schupp, David Morel, Jeff Lavallee, and anonymous others. perl v5.14.2 2011-12-23 IPC::Run3(3pm)
All times are GMT -4. The time now is 06:33 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy