Sponsored Content
Top Forums UNIX for Dummies Questions & Answers using gsed with cp to sort files in directory - every N file copy to new place Post 302563977 by Corona688 on Wednesday 12th of October 2011 02:17:21 PM
Old 10-12-2011
OSX's default sed is an ancient BSD incarnation which doesn't even support things like \n. gsed is a good idea.

I don't know how "2~5p" is supposed to work though, trying it on /etc/passwd I actually get more lines out of it than I put in!

How about
Code:
ls | awk '(NR%3)==0' | while read LINE
do
        echo cp "$LINE" /path/to/dest/
done

One of the simplest ways to use awk is an expression which tells it whether to print the current line or not. NR is the number of records. So it will print the current line only when the line number divided by 3 has a remainder of 0 -- so line 3, 6, 9, 12, ...

Then you feed it into a while loop and move files one by one.

If you wanted to avoid running cp 30,000 times, you could pipe them into xargs/tar:

Code:
ls | awk '(NR%3)==0' | xargs -I {} tar -cf - | tar -C /path/to/dest/ -xf -

running 'tar -cf - file1 file2 file3' bundles files into a tape archive printed directly to standard output. xargs converts file names in a pipeline into arguments fed into tar. Piping that directly into tar -xf extracts the files. -C tells it where. So it pipes the contents of all the files between the two tars and creates them where you want.
 

10 More Discussions You Might Find Interesting

1. Solaris

Copy files from the file to another directory

I have created a file that has list of all the files I want to copy into another directory.Is there a way to do it? Thanks In advance (4 Replies)
Discussion started by: shreethik
4 Replies

2. AIX

loop through the directory for files and sort by date and process the first file

hello i have a requirement where i have a direcotry in which i get files in the format STOCKS.20080114.dat STOCKS.20080115.dat STOCKS.20080117.dat STOCKS.20080118.dat i need to loop through the directory and sort by create date descending order and i need to process the first file. ... (1 Reply)
Discussion started by: dsdev_123
1 Replies

3. Solaris

What is the best way to copy data from place to another place?

Dear Gurus, I need you to advice or suggestion about the best solution to copy data around 200-300G from serverA(location A) to serverB(location B). Normally, I will share folder and then copy but it takes too long time(about 2 days). Do you have any suggestion or which way should be... (9 Replies)
Discussion started by: unitipon
9 Replies

4. UNIX for Dummies Questions & Answers

Copy dir/file from one place to another.

Hello all. I'm not getting the hang of Paths. I have a dir w/files that I want to copy to another dir. Right now I am in the "source" directory. I want to copy it to Ch7. "cp -r source Ch7". Ch7 was already created. 1st msg.: cannot stat `source`: No such file or dir. I typed pwd & got... (3 Replies)
Discussion started by: Ccccc
3 Replies

5. UNIX for Dummies Questions & Answers

regularly copy files to different directory with different file extentions

I have a NAS and I upload my videos to it from time to time. the video format is 3gp but my media player PBO could only play avi. I want to copy these files to different directory and change the extention from 3gp to avi. (yes I want to keep the original version and create a duplicate version with... (0 Replies)
Discussion started by: momentum
0 Replies

6. Shell Programming and Scripting

Copy files listed in text file to new directory

I am trying to write a script that will copy all file listed in a text file (100s of file names) to a new directory Assume script will run with main as current working directory and I know how many files/lines will be in List.txt Im trying to work up a test script using this model Contents of... (2 Replies)
Discussion started by: IAmTheGrass
2 Replies

7. Shell Programming and Scripting

Copy the files in directory and sub folders as it is to another directory.

How to copy files from one directory to another directory with the subfolders copied. If i have folder1/sub1/sub2/* it needs to copy files to folder2/sub1/sub2/*. I do not want to create sub folders in folder2. Can copy command create them automatically? I tried cp -a and cp -R but did... (4 Replies)
Discussion started by: santosh2626
4 Replies

8. UNIX for Dummies Questions & Answers

How to search for a file having a particular character in a particular place in a directory.?

Hi Guys, I want to search for a specific file in a directory which have a "b" letter as the 3rd character in the name of the file. For Example : /abc/efg/ldbjfblkj.sh /abc/efg/erublkd.sh /abc/efg/eibueora.sh /abc/efg/kfvnmnb.sh Since we have 2 files with "b" as a 3rd character in... (5 Replies)
Discussion started by: Pramod_009
5 Replies

9. Shell Programming and Scripting

Search for a file in all directories and place the file in that directory

Hi All, Daily I am getting the updated file. I have to search for this file in all directories and sub directories. If the file existed in a particular directory then move this updated file to that particular directory. If the file is not existed in any of the directories then place this... (4 Replies)
Discussion started by: ROCK_PLSQL
4 Replies

10. UNIX for Beginners Questions & Answers

How do I custom sort the files in a directory using the filenames in a text file.?

Hi all, (5 Replies)
Discussion started by: KMusunuru
5 Replies
FTP_NLIST(3)								 1							      FTP_NLIST(3)

ftp_nlist - Returns a list of files in the given directory

SYNOPSIS
array ftp_nlist (resource $ftp_stream, string $directory) DESCRIPTION
PARAMETERS
o $ftp_stream - The link identifier of the FTP connection. o $directory - The directory to be listed. This parameter can also include arguments, eg. ftp_nlist($conn_id, "-la /your/dir"); Note that this parameter isn't escaped so there may be some issues with filenames containing spaces and other characters. RETURN VALUES
Returns an array of filenames from the specified directory on success or FALSE on error. EXAMPLES
Example #1 ftp_nlist(3) example <?php // set up basic connection $conn_id = ftp_connect($ftp_server); // login with username and password $login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass); // get contents of the current directory $contents = ftp_nlist($conn_id, "."); // output $contents var_dump($contents); ?> The above example will output something similar to: array(3) { [0]=> string(11) "public_html" [1]=> string(10) "public_ftp" [2]=> string(3) "www" SEE ALSO
ftp_rawlist(3). PHP Documentation Group FTP_NLIST(3)
All times are GMT -4. The time now is 10:44 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy