Sponsored Content
Top Forums UNIX for Dummies Questions & Answers Copying files with spaces in the filename in a for loop Post 302597435 by methyl on Friday 10th of February 2012 09:55:24 AM
Old 02-10-2012
Quote:
for i in `grep -Eo '[0-9]{3,4}' list-2.txt`; do j=`grep -E $i list-3.txt`; k=`echo "$j"`; cp "$k" cameras ; done;
The "for" command is unsuitable for open-ended lists or for parameters containing spaces or for lists which might be empty. A "while" loop is the preferred method:

Turning your script round and putting quotes round "$i" . Untested because my "grep" doesn't have these options.
Code:
grep -Eo '[0-9]{3,4}' list-2.txt | while read i
do
      grep -E "$i" list-3.txt | while read j
      do
              cp "$j" cameras
      done
done

To my mind $k is not needed because it is the same as $j.

Last edited by methyl; 02-10-2012 at 11:00 AM.. Reason: mispaste
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

moving files with spaces in filename from one directory to another

Hello, When I run following script #!/bin/bash cd ~/directory1 mv `ls -trF | grep -v / | tail -10 ` ~/directory2 works fine with filenames not having any space but runs into issues with filenames that have spaces tried with $file variable still doesnot work. Can someone help me (4 Replies)
Discussion started by: asakhare
4 Replies

2. Shell Programming and Scripting

copying files with spaces in the filename

Hi I am having difficulty copying files from one dir to another due to a space in the names of the file with an extension .rtf There are a group of files and the command am using is cp `ls -rt /wlblive/home/whiops/ops/RTFs/*.rtf|head -20` /wlblive/home/jamshed Since the files are... (3 Replies)
Discussion started by: jamshedj
3 Replies

3. Shell Programming and Scripting

List files with spaces in filename

I have a text file containing files in a directory structure i.e. /project/hr/raw/jcpdatav/datav_aug03 /project/hr/raw/jcpdatav/comb8121sep02n /project/hr/raw/jcpdatav/datav_feb04_ons /project/hr/raw/jcpdatav/corpsick_jun06 /project/hr/raw/jcpdatav/jcpjoiners200507... (3 Replies)
Discussion started by: mr_crosby
3 Replies

4. Shell Programming and Scripting

Copying files using $filename

Hi, I've a problem. Here is the code: #!/bin/ksh echo "enter a file name" read a cd /home/linux1/sam if then echo "file exists" cp $a $a_bkp else echo "file doesn't exist" fi when executed the o/p is: enter a file name contact file exists cp: missing destination file (4 Replies)
Discussion started by: sam_bd
4 Replies

5. Shell Programming and Scripting

Rename all files (filename with spaces) to different extension

Hi, I have files with filenames as below. SGM Daily Sales Email-en-us-05312012.xlwa I want to rename it in .xls. I am writing a script to change this, as there can be multiple files in subfolders. I have the following script. #!/bin/ksh for oldfile in $(find... (1 Reply)
Discussion started by: mac4rfree
1 Replies

6. Solaris

While copying files from windows to Solaris5.8 with filezilla length of the filename changed

Hello I am copying a tar from windows7 to Solaris with filezilla i could see, some characters in the name of the file get deleted. I could see only substring of the filename eg: original filename :abcdefghijklmnopqrstu.h i can see like abcdefghijklm solution to this problem is highly... (2 Replies)
Discussion started by: Revathi R
2 Replies

7. Shell Programming and Scripting

Issue with copying files into dir inside for loop

Hi , I'm trying to move/copy the files inside the loop into a directory . I tried the below code and the issue is the data is not copying into the created directory but the files are copying into another file file_path="/home/etc" Last_Day=20130930 mkdir $file_path/ARC_${Last_Day} ... (3 Replies)
Discussion started by: smile689
3 Replies

8. Shell Programming and Scripting

Creating Multiple data files with spaces in the filename

Hi, I have a list of filenames in the format with Spaces in the filename. As an example : Sample File 1.txt Sample File 2.txt Sample File 3.txt.....I have about 100 files like this. I am trying to create a block of code or use an available command to a) Create a file b) Put in some... (2 Replies)
Discussion started by: ban3rj33
2 Replies

9. Shell Programming and Scripting

Process files in loop which have spaces in name

I have a folder with files and I have to process them in a loop. However the filenames have space characters, so the list get split. $ touch "File Number_1" $ touch "File Number_2" $ ls "/tmp/File Number"_* /tmp/File Number_1 /tmp/File Number_2 I tried following (sorry for using the... (3 Replies)
Discussion started by: Wernfried
3 Replies

10. Shell Programming and Scripting

Loop Script and not opening files containing spaces

Hello, I wrote a simple script, that basically wait for a *.dat-file in a certain folder, which is always a zipped file and extracts it. It worked before and i changed nothing in the script, but since last week i have the problem, that it doesnt extract files containing a space. How do i make... (4 Replies)
Discussion started by: blend_in
4 Replies
IMAP_SEARCH(3)								 1							    IMAP_SEARCH(3)

imap_search - This function returns an array of messages matching the given search criteria

SYNOPSIS
array imap_search (resource $imap_stream, string $criteria, [int $options = SE_FREE], [string $charset = NIL]) DESCRIPTION
This function performs a search on the mailbox currently opened in the given IMAP stream. For example, to match all unanswered messages sent by Mom, you'd use: "UNANSWERED FROM mom". Searches appear to be case insensitive. This list of criteria is from a reading of the UW c-client source code and may be incomplete or inaccurate (see also RFC2060, section 6.4.4). PARAMETERS
o $ imap_stream -An IMAP stream returned by imap_open(3). o $criteria - A string, delimited by spaces, in which the following keywords are allowed. Any multi-word arguments (e.g. FROM "joey smith") must be quoted. Results will match all $criteria entries. o ALL - return all messages matching the rest of the criteria o ANSWERED - match messages with the \ANSWERED flag set o BCC "string" - match messages with "string" in the Bcc: field o BEFORE "date" - match messages with Date: before "date" o BODY "string" - match messages with "string" in the body of the message o CC "string" - match messages with "string" in the Cc: field o DELETED - match deleted messages o FLAGGED - match messages with the \FLAGGED (sometimes referred to as Important or Urgent) flag set o FROM "string" - match messages with "string" in the From: field o KEYWORD "string" - match messages with "string" as a keyword o NEW - match new messages o OLD - match old messages o ON "date" - match messages with Date: matching "date" o RECENT - match messages with the \RECENT flag set o SEEN - match messages that have been read (the \SEEN flag is set) o SINCE "date" - match messages with Date: after "date" o SUBJECT "string" - match messages with "string" in the Subject: o TEXT "string" - match messages with text "string" o TO "string" - match messages with "string" in the To: o UNANSWERED - match messages that have not been answered o UNDELETED - match messages that are not deleted o UNFLAGGED - match messages that are not flagged o UNKEYWORD "string" - match messages that do not have the keyword "string" o UNSEEN - match messages which have not been read yet o $options - Valid values for $options are SE_UID, which causes the returned array to contain UIDs instead of messages sequence numbers. o $charset - RETURN VALUES
Returns an array of message numbers or UIDs. Return FALSE if it does not understand the search $criteria or no messages have been found. EXAMPLES
Example #1 imap_search(3) example <?php $conn = imap_open('{imap.example.com:993/imap/ssl}INBOX', 'foo@example.com', 'pass123', OP_READONLY); $some = imap_search($conn, 'SUBJECT "HOWTO be Awesome" SINCE "8 August 2008"', SE_UID); $msgnos = imap_search($conn, 'ALL'); $uids = imap_search($conn, 'ALL', SE_UID); print_r($some); print_r($msgnos); print_r($uids); ?> The above example will output something similar to: Array ( [0] => 4 [1] => 6 [2] => 11 ) Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 [5] => 6 ) Array ( [0] => 1 [1] => 4 [2] => 6 [3] => 8 [4] => 11 [5] => 12 ) SEE ALSO
imap_listscan(3). PHP Documentation Group IMAP_SEARCH(3)
All times are GMT -4. The time now is 02:31 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy