Sponsored Content
Top Forums Shell Programming and Scripting copying with a certain extension Post 302568527 by felipe.vinturin on Thursday 27th of October 2011 01:08:14 PM
Old 10-27-2011
Or a move verbose one (like Carlo's):
Code:
find . \! -name "*.*" -type f | xargs -t -I {} cp "{}" "${TO}/{}.txt"

The difference is that it will print all cp commands executed! =o)

E.g.
Code:
# TO="./output"
# find . \! -name "*.*" -type f | xargs -t -I {} cp "{}" "${TO}/{}.txt"
cp ./2 ./output/./2.txt
cp ./1 ./output/./1.txt
cp ./3 ./output/./3.txt
cp ./4 ./output/./4.txt
# ls -lrt ./output/
total 0
-rw-rw-r--  1 jboss jboss 0 Oct 27 15:10 4.txt
-rw-rw-r--  1 jboss jboss 0 Oct 27 15:10 3.txt
-rw-rw-r--  1 jboss jboss 0 Oct 27 15:10 2.txt
-rw-rw-r--  1 jboss jboss 0 Oct 27 15:10 1.txt

As you can see, find will also print the path to the file in the output. To "solve" this, you can use the -printf option, but there is a problem, depending on your OS, this option will not be available:
Code:
# -printf arguments
# %h -> Path to the file
# %f -> Filename
find . \! -name "*.*" -type f -printf "cp %h/%f ${TO}/%f.txt\n" | sh


Last edited by felipe.vinturin; 10-27-2011 at 02:20 PM..
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

how do i change extension

Hi I am writing a script which does an FTP of a set of files onto another machine and then would have to rename the files into a different extension on the source machine. for example if the file being sent via FTP is sample.txt. Once the file has been transferred i would want to modify the... (2 Replies)
Discussion started by: kswaraj
2 Replies

2. Shell Programming and Scripting

Append extension

Can anyone tell me the easiest way to append an extension (ie. .ldr) to all files in a directory that do NOT have an extension? The directory contains files with and without extensions, however I'm only interested in the files with NO extension. Thanks. (3 Replies)
Discussion started by: here2learn
3 Replies

3. UNIX for Dummies Questions & Answers

without extension

Hi, I need a help regarding a small requirement. I have a list of C files. I need to put them in a file but without .c extension. say if I have the files as file01.c, file02.c, file03.c etc My file say cfiles should have file01 file02 file03 ... ... etc Appreciate your quick help on... (3 Replies)
Discussion started by: adurga
3 Replies

4. UNIX for Dummies Questions & Answers

extension problem please help

I am executing a program wp1s0000.sh_old and it is executing as expected irrespective of the extension "sh_old" how is this possible ?? (1 Reply)
Discussion started by: sharmasdeepti
1 Replies

5. Linux

copying all files except those with certain extension

Hi, I have a root directory which has a big number of other subdirectories and contains a big number of files. I want to copy all these files and directories to another folder except files with certain extension, say .txt, files - how may I do this? Thanks, faizlo (8 Replies)
Discussion started by: faizlo
8 Replies

6. Shell Programming and Scripting

Look for more then one extension.

I am currently scanning a directory with a shell script to look for all files with a .sh extension. I am wondering how to make it look for more then one extension. For example all .sh, .conf, and .sql files? Currently this is what I am doing.... find... (3 Replies)
Discussion started by: LRoberts
3 Replies

7. Shell Programming and Scripting

Getting the file extension

I have a file n06-z30-sr65-rgdt0p25-varp0.25-8x6drw-test.cmod and I want to get the extension. At the moment I have set filextension = `echo $f | awk 'BEGIN {FS="."} {print $2}'` which of course does not work as there is a point in varp0.25 (13 Replies)
Discussion started by: kristinu
13 Replies

8. UNIX for Dummies Questions & Answers

copying files of certain extension?

Hi, I am using scp to copy a certain directory over the network. This folder contain some files that I am not interested in. My question is; is it possible to copy files of certain extension only, keeping the same directory hierarchy as it is (that is sub-folders)? Thanks (8 Replies)
Discussion started by: faizlo
8 Replies

9. UNIX for Dummies Questions & Answers

Display the .csv extension files based on .done extension fine

Hi All, I want to fetch the files based on .done file and display the .csv files and Wil take .csv files for processing. 1.I need to display the .done files from the directory. 2.next i need to search for the .Csv files based on .done file.then move .csv files for the one directory ... (2 Replies)
Discussion started by: girija.g6
2 Replies

10. Shell Programming and Scripting

Copying multiple files and appending time stamp before file extension

Hi, I have multiple files that read: Asa.txt Bad.txt Gnu.txt And I want to rename them using awk to Asa_ddmmyytt.txt and so on ... If there is a single command or more efficient executable please share! Thanks! (4 Replies)
Discussion started by: Jesshelle David
4 Replies
funflush(3)							SAORD Documentation						       funflush(3)

NAME
FunFlush - flush data to output file SYNOPSIS
#include <funtools.h> void FunFlush(Fun fun, char *plist) DESCRIPTION
The FunFlush routine will flush data to a FITS output file. In particular, it can be called after all rows have been written (using the FunTableRowPut() routine) in order to add the null padding that is required to complete a FITS block. It also should be called after com- pletely writing an image using FunImagePut() or after writing the final row of an image using FunTableRowPut(). The plist (i.e., parameter list) argument is a string containing one or more comma-delimited keyword=value parameters. If the plist string contains the parameter "copy=remainder" and the file was opened with a reference file, which, in turn, was opened for extension copying (i.e. the input FunOpen() mode also was "c" or "C"), then FunFlush also will copy the remainder of the FITS extensions from the input ref- erence file to the output file. This normally would be done only at the end of processing. Note that FunFlush() is called with "copy=remainder" in the mode string by FunClose(). This means that if you close the output file before the reference input file, it is not necessary to call FunFlush() explicitly, unless you are writing more than one extension. See the evmerge example code. However, it is safe to call FunFlush() more than once without fear of re-writing either the padding or the copied extensions. In addition, if FunFlush() is called on an output file with the plist set to "copy=reference" and if the file was opened with a reference file, the reference extension is written to the output file. This mechanism provides a simple way to copy input extensions to an output file without processing the former. For example, in the code fragment below, an input extension is set to be the reference file for a newly opened output extension. If that reference extension is not a binary table, it is written to the output file: /* process each input extension in turn */ for(ext=0; ;ext++){ /* get new extension name */ sprintf(tbuf, "%s[%d]", argv[1], ext); /* open input extension -- if we cannot open it, we are done */ if( !(ifun=FunOpen(tbuf, "r", NULL)) ) break; /* make the new extension the reference handle for the output file */ FunInfoPut(ofun, FUN_IFUN, &ifun, 0); /* if its not a binary table, just write it out */ if( !(s=FunParamGets(ifun, "XTENSION", 0, NULL, &got)) || strcmp(s, "BINTABLE")){ if( s ) free(s); FunFlush(ofun, "copy=reference"); FunClose(ifun); continue; } else{ /* process binary table */ .... } } SEE ALSO
See funtools(7) for a list of Funtools help pages version 1.4.2 January 2, 2008 funflush(3)
All times are GMT -4. The time now is 01:53 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy