02-16-2017
Quote:
Originally Posted by
bakunin
I don't think so: because the size (which is a small fraction of a GB) is rounded up to the next unit (GB here, therefore 1GB) all files with 1GB and less (but at least 1c) are shown.
I hope this helps.
bakunin
Hi bakunin,
No. When no units are specified, such as with
-size 2, it is looking for a file that has a size that fits in 2 512-byte blocks which corresponds to a file with a file size that is 513 through 1024 bytes. But when units are specified, an unsigned number is looking for a file with the exact size specified (at least with a BSD-based
find utility which is also used on macOS systems). Note that the POSIX standard's
find utility's
-size primary does not include a units modifier except
c (which specifies that the number is counting bytes instead of 512-byte blocks); it just has negative numbers (meaning less than number), unsigned numbers (meaning exactly that number), and positive numbers (with a leading + meaning more than number).
If some other system's
find utility treats unit modifiers as block size multipliers instead of just numbers of bytes, that difference in behavior from BSD might be a reason why POSIX hasn't standardized modifiers other than
c.
Hi bodisha,
What operating system are you using?
These 2 Users Gave Thanks to Don Cragun For This Post:
10 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
Hi,
how can I get only useful results from
find / -size 10000000
without the "Permissions denied" files ?
tks
C (5 Replies)
Discussion started by: Carmen123
5 Replies
2. UNIX for Dummies Questions & Answers
Hi--
Ok. I have now found that:
find -x -ls
will do what I need as far as finding all files on a particular volume. Now I need to sort the results by the file's modification date/time.
Is there a way to do that?
Also, I notice that for many files, whereas the man for find says ls is... (8 Replies)
Discussion started by: groundlevel
8 Replies
3. Shell Programming and Scripting
I am looking for files of a certian type and logging them. After they are logged they need to be moved to a different directory. HOw can i incorporate that in my current script?
CSV_OUTFILE="somefile.csv"
find . -name W\* -exec printf "%s,%s,OK" {} `date '+%Y%m%d%H%M%S'` \; > ${CSV_OUTFILE}
... (9 Replies)
Discussion started by: pimentelgg
9 Replies
4. UNIX for Advanced & Expert Users
I'm attempting to read a file that is composed of complex 32-bit floating point values on Solaris 10 that came from a 64-bit Red Hat computer.
When I first tried reading the file, it looked like there was a byte-swapping problem and after running the od command on the file Solaris and Red Hat... (2 Replies)
Discussion started by: GoDonkeys
2 Replies
5. Programming
I was running some timings in my code to see which of several functions was the best and I've been getting some odd results. Here's the code I'm using:
static double time_loop(int (*foo)(int)) {
clock_t start, end;
int n = 0, i = 0;
start = clock();
for (; i <= MAXN; i++)
if... (6 Replies)
Discussion started by: CRGreathouse
6 Replies
6. Shell Programming and Scripting
I have an issue with a korn shell script that I am writing. The script parses through a configuration file which lists a heap of path/directories for some files which need to be FTP'd. Now the script needs to check whether there are any files which have not been processed and are X minutes old.
... (2 Replies)
Discussion started by: MickAAA
2 Replies
7. UNIX for Dummies Questions & Answers
Hi,
I have a problem with a shell script.
The script should find all .cpp and .h files and list them.
With:
for file in `find $src -name '*.h' -o -name '*.cpp'
it gives out this:
H:\FileList\A\E\F\G\newCppFile.cpp
H:\FileList\header01.h
H:\FileList\B\nextCppFile.cpp
... (4 Replies)
Discussion started by: shellBeginner75
4 Replies
8. UNIX for Dummies Questions & Answers
Hi,
Am running the command below to search for files that contains a certain string.
grep -il "shutdown" `find . -type f -mtime -1 -print` | grep "^./scripts/active"
How do I get it to do a ls -l on the list of files? I tried doing ls -l `grep -il "shutdown" `find . -type f -mtime -1... (5 Replies)
Discussion started by: newbie_01
5 Replies
9. UNIX for Dummies Questions & Answers
i feel weird with this 2 command
find /tmp/*test* -user `whoami` -mtime +1 -type f -exec rm -f {}\;
find /tmp/*test* -user `whoami` -mtime +1 -type f -exec ls -lrt {}\;
the first one return correct which only delete those filename that consist *test* where second command it listed all the... (12 Replies)
Discussion started by: lsy
12 Replies
10. Shell Programming and Scripting
I have a text file downloaded from the web, I want to count the unique words used in the file, and a person's speaking length during conversation by counting the words between the opening and closing quotation marks which differ from the standard ASCII code. Also I found out the file contains some... (2 Replies)
Discussion started by: yifangt
2 Replies
DF(1) BSD General Commands Manual DF(1)
NAME
df -- display free disk space
SYNOPSIS
df [--libxo] [-b | -g | -H | -h | -k | -m | -P] [-acilnT] [-,] [-t type] [file | filesystem ...]
DESCRIPTION
The df utility displays statistics about the amount of free disk space on the specified file system or on the file system of which file is a
part. By default block counts are displayed with an assumed block size of 512 bytes. If neither a file or a file system operand is speci-
fied, statistics for all mounted file systems are displayed (subject to the -t option below).
The following options are available:
-a Show all mount points, including those that were mounted with the MNT_IGNORE flag. This is implied for file systems specified on the
command line.
-b Explicitly use 512 byte blocks, overriding any BLOCKSIZE specification from the environment. This is the same as the -P option. The
-k option overrides this option.
-c Display a grand total.
-g Use 1073741824 byte (1 Gibibyte) blocks rather than the default. This overrides any BLOCKSIZE specification from the environment.
-h ``Human-readable'' output. Use unit suffixes: Byte, Kibibyte, Mebibyte, Gibibyte, Tebibyte and Pebibyte (based on powers of 1024) in
order to reduce the number of digits to four or fewer.
-H ``Human-readable'' output. Use unit suffixes: Byte, Kilobyte, Megabyte, Gigabyte, Terabyte and Petabyte (based on powers of 1000) in
order to reduce the number of digits to four or fewer.
-i Include statistics on the number of free and used inodes. In conjunction with the -h or -H options, the number of inodes is scaled
by powers of 1000.
-k Use 1024 byte (1 Kibibyte) blocks rather than the default. This overrides the -P option and any BLOCKSIZE specification from the
environment.
-l Only display information about locally-mounted file systems.
-m Use 1048576 byte (1 Mebibyte) blocks rather than the default. This overrides any BLOCKSIZE specification from the environment.
-n Print out the previously obtained statistics from the file systems. This option should be used if it is possible that one or more
file systems are in a state such that they will not be able to provide statistics without a long delay. When this option is speci-
fied, df will not request new statistics from the file systems, but will respond with the possibly stale statistics that were previ-
ously obtained.
-P Explicitly use 512 byte blocks, overriding any BLOCKSIZE specification from the environment. This is the same as the -b option. The
-k option overrides this option.
-t Only print out statistics for file systems of the specified types. More than one type may be specified in a comma separated list.
The list of file system types can be prefixed with ``no'' to specify the file system types for which action should not be taken. For
example, the df command:
df -t nonfs,nullfs
lists all file systems except those of type NFS and NULLFS. The lsvfs(1) command can be used to find out the types of file systems
that are available on the system.
-T Include file system type.
-, (Comma) Print sizes grouped and separated by thousands using the non-monetary separator returned by localeconv(3), typically a comma
or period. If no locale is set, or the locale does not have a non-monetary separator, this option has no effect.
ENVIRONMENT
BLOCKSIZE Specifies the units in which to report block counts. This uses getbsize(3), which allows units of bytes or numbers scaled with
the letters k (for multiples of 1024 bytes), m (for multiples of 1048576 bytes) or g (for gibibytes). The allowed range is 512
bytes to 1 GB. If the value is outside, it will be set to the appropriate limit.
SEE ALSO
lsvfs(1), quota(1), fstatfs(2), getfsstat(2), statfs(2), getbsize(3), getmntinfo(3), libxo(3), localeconv(3), xo_parse_args(3), fstab(5),
mount(8), pstat(8), quot(8), swapinfo(8)
STANDARDS
With the exception of most options, the df utility conforms to IEEE Std 1003.1-2004 (``POSIX.1''), which defines only the -k, -P and -t
options.
HISTORY
A df command appeared in Version 1 AT&T UNIX.
BUGS
The -n flag is ignored if a file or file system is specified. Also, if a mount point is not accessible by the user, it is possible that the
file system information could be stale.
The -b and -P options are identical. The former comes from the BSD tradition, and the latter is required for IEEE Std 1003.1-2004
(``POSIX.1'') conformity.
BSD
November 6, 2014 BSD