Sponsored Content
Top Forums UNIX for Dummies Questions & Answers Using "find" and "-exec rm" ... Just no luck :( Post 302348770 by reborg on Saturday 29th of August 2009 03:58:01 PM
Old 08-29-2009
I would have to to agree in general with Jlliagre, and I believe that methyl's observations show a possible behavior but that the interpretation of why this happens is incorrect.

The {} in find is a substitution for the found string, with or without spaces. It is should not require quoting, and should be passed directly as a single element to the array of arguments for the exec() irrespective of how many times it occurs in the command.

I would also agree that any version of find that requires quotes to handle multi-word strings is very odd, given that the executed command is not interpreted by the shell but just used as a substitution internally in the find command prior to exec() of the specified command.

That being said however the shell being used could easily affect the outcome. If the shell interprets the {} and makes a substitution or expansion prior to running the find command then all bets are off. I can't think of an example off hand, but similar things happen with the '!' character. Using ksh I could use a veritas command with a disk layout like:
Code:
disk1 disk2 !disk3 !disk4

However if I do the same thing in bash, it would have to be:
Code:
disk1 disk2 \!disk3 \!disk4

because the '!' would be interpreted as history expansion.

In summary then: depending on the the shell being used, the quotes may protect from expansion by the parent shell in which find is running but they should not have any effect in preserving multi-word filenames.

---------- Post updated at 08:58 PM ---------- Previous update was at 08:56 PM ----------

For reference, the quotes are not needed on Ubuntu for any of the well known shells. I can only conclude that Dean Rotherham has something non standard because his observations of the behavior of Ubuntu are not correct ( nor would they be correct for any Linux based OS I know of, past or present ).
 

9 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

No utpmx entry: you must exec "login" from lowest level "shell"

Hi I have installed solaris 10 on an intel machine. Logged in as root. In CDE, i open terminal session, type login alex (normal user account) and password and i get this message No utpmx entry: you must exec "login" from lowest level "shell" :confused: What i want is: open various... (0 Replies)
Discussion started by: peterpan
0 Replies

2. UNIX for Dummies Questions & Answers

Explain the line "mn_code=`env|grep "..mn"|awk -F"=" '{print $2}'`"

Hi Friends, Can any of you explain me about the below line of code? mn_code=`env|grep "..mn"|awk -F"=" '{print $2}'` Im not able to understand, what exactly it is doing :confused: Any help would be useful for me. Lokesha (4 Replies)
Discussion started by: Lokesha
4 Replies

3. Shell Programming and Scripting

cat $como_file | awk /^~/'{print $1","$2","$3","$4}' | sed -e 's/~//g'

hi All, cat file_name | awk /^~/'{print $1","$2","$3","$4}' | sed -e 's/~//g' Can this be done by using sed or awk alone (4 Replies)
Discussion started by: harshakusam
4 Replies

4. Shell Programming and Scripting

awk command to replace ";" with "|" and ""|" at diferent places in line of file

Hi, I have line in input file as below: 3G_CENTRAL;INDONESIA_(M)_TELKOMSEL;SPECIAL_WORLD_GRP_7_FA_2_TELKOMSEL My expected output for line in the file must be : "1-Radon1-cMOC_deg"|"LDIndex"|"3G_CENTRAL|INDONESIA_(M)_TELKOMSEL"|LAST|"SPECIAL_WORLD_GRP_7_FA_2_TELKOMSEL" Can someone... (7 Replies)
Discussion started by: shis100
7 Replies

5. Shell Programming and Scripting

Find lines with "A" then change "E" to "X" same line

I have a bunch of random character lines like ABCEDFG. I want to find all lines with "A" and then change any "E" to "X" in the same line. ALL lines with "A" will have an "X" somewhere in it. I have tried sed awk and vi editor. I get close, not quite there. I know someone has already solved this... (10 Replies)
Discussion started by: nightwatchrenba
10 Replies

6. UNIX for Dummies Questions & Answers

Using "mailx" command to read "to" and "cc" email addreses from input file

How to use "mailx" command to do e-mail reading the input file containing email address, where column 1 has name and column 2 containing “To” e-mail address and column 3 contains “cc” e-mail address to include with same email. Sample input file, email.txt Below is an sample code where... (2 Replies)
Discussion started by: asjaiswal
2 Replies

7. Shell Programming and Scripting

find . -path "*_nobackup*" -prune -iname "*.PDF" \( ! -name "*_nobackup.*" \)

These three finds worked as expected: $ find . -iname "*.PDF" $ find . -iname "*.PDF" \( ! -name "*_nobackup.*" \) $ find . -path "*_nobackup*" -prune -iname "*.PDF" They all returned the match: ./folder/file.pdf :b: This find returned no matches: $ find . -path "*_nobackup*" -prune... (3 Replies)
Discussion started by: wolfv
3 Replies

8. Shell Programming and Scripting

Bash script - Print an ascii file using specific font "Latin Modern Mono 12" "regular" "9"

Hello. System : opensuse leap 42.3 I have a bash script that build a text file. I would like the last command doing : print_cmd -o page-left=43 -o page-right=22 -o page-top=28 -o page-bottom=43 -o font=LatinModernMono12:regular:9 some_file.txt where : print_cmd ::= some printing... (1 Reply)
Discussion started by: jcdole
1 Replies

9. AIX

Apache 2.4 directory cannot display "Last modified" "Size" "Description"

Hi 2 all, i have had AIX 7.2 :/# /usr/IBMAHS/bin/apachectl -v Server version: Apache/2.4.12 (Unix) Server built: May 25 2015 04:58:27 :/#:/# /usr/IBMAHS/bin/apachectl -M Loaded Modules: core_module (static) so_module (static) http_module (static) mpm_worker_module (static) ... (3 Replies)
Discussion started by: penchev
3 Replies
caca-config(1)						      General Commands Manual						    caca-config(1)

NAME
caca-config - script to get information about the installed version of libcaca SYNOPSIS
caca-config [ --prefix= DIR] [ --exec-prefix= DIR] [ --version ] [ --libs ] [ --cflags ] DESCRIPTION
caca-config is a tool that is used to configure and determine the compiler and linker flags that should be used to compile and link progams, libraries, and plugins that use libcaca. The use of caca-config is deprecated. The more generic tool pkg-config should be used instead. OPTIONS
--cflags Print the compiler flags that are necessary to compile a program or library that uses libcaca. --exec-prefix=DIR If specified, use DIR instead of the installation exec prefix that libcaca was build with when computing the output for the --cflags and --libs options. This option must be specified before any of the --cflags and --libs options. --libs Print the linker flags that are necessary to link a program or library that uses libcaca. --prefix=DIR If specified, use PREFIX instead of the installation prefix that libcaca was built with when computing the output for the --cflags and --libs options. This option is also used for the exec prefix if --exec-prefix was not specified. This option must be specified before any of the --cflags and --libs options. --version Prints the currently installed version of libcaca on standard output. EXAMPLES
gcc -o main.o $(caca-config --cflags) -c main.c is how you might use caca-config to compile a C source file for an executable program. gcc -o my_app $(caca-config --libs) main.o util.o is how you might use caca-config to link compiled objects into an executable program. SEE ALSO
pkg-config(1) AUTHOR
The libcaca library was written by Sam Hocevar <sam@hocevar.net>. This manual page was written for sdl-config by Branden Robinson, originally for Progeny Linux Systems, Inc., and the Debian Project. It was adapted to libcaca by Sam Hocevar. libcaca 2003-11-22 caca-config(1)
All times are GMT -4. The time now is 11:00 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy