05-06-2010
While I did mention that the sh glob is "cheaper" (which I now regret), please note that my post is about correctness and robustness, not performance.
I wasn't referring to searching subdirectories, only that specific use of ls. It serves absolutely no purpose whatsoever and can only result in mishandled filenames. In such a case, where ls is being used to retrieve the filenames in directories (non-recursively), always use file expansion instead.
While we're here, your find solution is also unable to properly handle any filenames with IFS characters (though it's not constrained by a command length limit if there are very many *.txt files). It could be made to handle spaces and tabs correctly, though not newlines, if instead of using the find in a command substitution in a for loop's list, you piped the output of find into a while read loop.
One last point: Please don't misinterpret my intention. I realize that most of the time technically-limited solutions are more than adequate; I use them all the time myself. I simply highlight the limitations so that anyone who is not aware of them will learn.
Regards,
Alister
10 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
Hi,
I need one line command to display all files that ends with .scr.
Example: In a directory I have 10 files, out of that 4 files have filetype extension .dat and 4 files with .scr and 2 files with .txt.... In this i want to display only files that ends with .scr.
I tried some commands,... (2 Replies)
Discussion started by: gwgreen1
2 Replies
2. UNIX for Dummies Questions & Answers
I have many types of files (Eg: *.log, *.rpt, *.txt, *.dat) in a directory. I want to display all file types except *.txt.
What is the command to display all files except "*.txt" (9 Replies)
Discussion started by: apsprabhu
9 Replies
3. Shell Programming and Scripting
I've been able to find all the extensionless files named photos using the command:
find /usr/local/apache/htdocs -name photos -print0
I need to copy those files to the name photos.php in their same directory.
I've found a bunch of xarg examples for moving to other directories but I wasn't... (7 Replies)
Discussion started by: dheian
7 Replies
4. UNIX for Dummies Questions & Answers
I'm rusty with cp, so I was wondering: is it possible to cp all the .doc files in a folder and make them .txt files? Can you use cp to do that? (3 Replies)
Discussion started by: Straitsfan
3 Replies
5. UNIX for Dummies Questions & Answers
Hi all,
i have 2 directory of files, the first directory(ext1directory) contain files of extension .ext1 and the second directory(allextdirectory) contains files of multiple extensions (.ext1,.ext2,.ext3,..)
so i want to copy the files from directory 2(allextdirectory) that have the same name... (8 Replies)
Discussion started by: shelladdict
8 Replies
6. Shell Programming and Scripting
Hi there,
I have around 145,000 files with no file extension in this directory - /home/adams/29:
The file name varies but all end with a number from 0 - 9,
e.g. TTFILE_BAT_235496, CCNHATA_RFC_23455
I want to give all these 145,000 .txt extension.
Please how do I do that?
Thanks (2 Replies)
Discussion started by: Creems
2 Replies
7. Shell Programming and Scripting
Hi,
My requirement is,there is a directory location like:
:camp/current/
In this location there can be different flat files that are generated in a single day with same header and the data will be different, differentiated by timestamp, so i need to verify how many files are generated... (10 Replies)
Discussion started by: srikanth_sagi
10 Replies
8. Shell Programming and Scripting
I need to write a script to :
list files with *.i extension in a directory and all its subdirectories + 30days old, save it in a file and then remove (2 Replies)
Discussion started by: lena keung
2 Replies
9. Shell Programming and Scripting
I'm sure this has been asked many times, but a search didn't turn up a definitive best method for this (if there ever is such a thing).
I have been using rsync to back up my main data directory, but I have accumulated a large number of older backups that I don't need. All of the files I don't... (14 Replies)
Discussion started by: LMHmedchem
14 Replies
10. Shell Programming and Scripting
wget -x -i link.txt
The above downloads and create unique entries for the 97 links in the text file. However, each new file is saved as CM080 with a FILE extention. Is there a way to convert each file in that directory to a .txt? The 97 files are in... (12 Replies)
Discussion started by: cmccabe
12 Replies
GID(1) User Commands GID(1)
NAME
gid - Query ID database and report results.
SYNOPSIS
gid [OPTION]... PATTERN...
DESCRIPTION
Query ID database and report results. By default, output consists of multiple lines, each line containing the matched identifier followed
by the list of file names in which it occurs.
-f, --file=FILE
file name of ID database
-i, --ignore-case
match PATTERN case insensitively
-l, --literal
match PATTERN as a literal string
-r, --regexp
match PATTERN as a regular expression
-w, --word
match PATTERN as a delimited word
-s, --substring
match PATTERN as a substring
Note: If PATTERN contains extended regular expression metacharacters, it is interpreted as a regular expression substring. Other-
wise, PATTERN is interpreted as a literal word.
-k, --key=STYLE
STYLE is one of `token', `pattern' or `none'
-R, --result=STYLE
STYLE is one of `filenames', `grep', `edit' or `none'
-S, --separator=STYLE
STYLE is one of `braces', `space' or `newline' and only applies to file names when `--result=filenames'
The above STYLE options control how query results are presented. Defaults are --key=token --result=filenames --separator=space
-F, --frequency=FREQ
find tokens that occur FREQ times, where FREQ is a range expressed as `N..M'. If N is omitted, it defaults to 1, if M is omitted it
defaults to MAX_USHRT
-a, --ambiguous=LEN
find tokens whose names are ambiguous for LEN chars
-x, --hex
only find numbers expressed as hexadecimal
-d, --decimal
only find numbers expressed as decimal
-o, --octal
only find numbers expressed as octal
By default, searches match numbers of any radix.
--help display this help and exit
--version
output version information and exit
REPORTING BUGS
Report bugs to bug-idutils@gnu.org
SEE ALSO
The full documentation for gid is maintained as a Texinfo manual. If the info and gid programs are properly installed at your site, the
command
info gid
should give you access to the complete manual.
gid - 4.5 August 2010 GID(1)