Sponsored Content
Full Discussion: Bash expansion
Top Forums Shell Programming and Scripting Bash expansion Post 302991372 by Chubler_XL on Thursday 9th of February 2017 03:53:17 PM
Old 02-09-2017
I believe you don't need any quotes around the -name parameters as shell will expand the variables into a single argument anyway for example:

Code:
$ MY_PATH=/tmp/jcdole
$ mkdir -p $MY_PATH/{test,.local/share/{kscreen,ballo},.dbus}/{test{1,2},.direct{A,B,C},.Xauthority,.xsession1,.bash_history}
$ F1="  -path  $MY_PATH/.local/share/kscreen  -o -path  $MY_PATH/.local/share/ballo   -o -path  $MY_PATH/.dbus "
$ F2=" ! -name .direct*  ! -name .Xauthority  ! -name .xsession*  ! -name .bash_history "
$ find "$MY_PATH" -type d \( $F1 \)  -prune -o \( $F2 -print \)
/tmp/jcdole
/tmp/jcdole/.local
/tmp/jcdole/.local/share
/tmp/jcdole/test
/tmp/jcdole/test/test1
/tmp/jcdole/test/test2


Without 2nd Filter you get:

Code:
$ $ find "$MY_PATH" -type d \( $F1 \)  -prune -o -print
/tmp/jcdole
/tmp/jcdole/.local
/tmp/jcdole/.local/share
/tmp/jcdole/test
/tmp/jcdole/test/.bash_history
/tmp/jcdole/test/.directA
/tmp/jcdole/test/.directB
/tmp/jcdole/test/.directC
/tmp/jcdole/test/.Xauthority
/tmp/jcdole/test/.xsession1
/tmp/jcdole/test/test1
/tmp/jcdole/test/test2


Last edited by Chubler_XL; 02-09-2017 at 04:59 PM.. Reason: Added output without the 2nd filter
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

bash - delay expansion of variable

Hello - I have a bash script which does some logging, and I'd like to include the line number of the echo statement that pipes into $LOGGER: MYPID=$$ MYNAME=`basename $0` LOGGER="/usr/bin/logger -t $MYNAME($LINENO) -p daemon.error" ... echo 'this is an entry into the log file' | $LOGGER ... (3 Replies)
Discussion started by: scandora
3 Replies

2. Shell Programming and Scripting

Brace expansion problem in Bash

I have a script that takes an option for server pools to run the script against. The option is given as a comma separated list (ie, -p 201,204,301). I'm using eval and brace expansion to get those pool numbers into an array. It works fine unless only 1 pool number is given. Here's the code: ... (5 Replies)
Discussion started by: mglenney
5 Replies

3. Shell Programming and Scripting

Bash variable delayed expansion?

i write a batch file , here is the content. dirname='date +%Y-%m-%d' mkdir dirname but it doen's work, it just create a folder named date and +%Y-%m-%d. i have tried run the command seperately in the bash prompt. after the first sentence executed , i use $dirname to watch the value of... (4 Replies)
Discussion started by: premotheus
4 Replies

4. Shell Programming and Scripting

Does SH support indirect expansion like BASH?

Hello, is there a kind soul who can answer me, does the SH support double substitution known as indirect expansion similar to BASH? The syntax for bash is ${!var}. For instance in bash I can write something like this: VAR="value" REF_VAR="VAR" echo ${!REF_VAR} and get the "value"... (1 Reply)
Discussion started by: dimentiy
1 Replies

5. Shell Programming and Scripting

Bash shell expansion help

This is what I have in my directory. $ ls test1.txt test2.txt test3.txt test4.txt test5.txt test_script.sh This is what my shellscript looks like. #!/bin/bash for filename in /shell_expansion/*.txt; do for ((i=0; i<=3; i++)); do echo "$filename" ... (5 Replies)
Discussion started by: cokedude
5 Replies

6. Shell Programming and Scripting

Bash variable expansion

Hello. The file /etc/fstab contains UUID=957c3295-9944-1593-82e2-2b90dede4312 / ext4 noatime,discard,acl,user_xattr 1 1 I fill a variable SOME_LINE=$( cat /etc/fstab | grep \/\..*ext4 | grep noatime,discard )echo $SOME_LINE... (3 Replies)
Discussion started by: jcdole
3 Replies

7. Shell Programming and Scripting

Bash Parameter Expansion

I have made the following examples that print various parameter expansions text: iv-hhz-sac/hpac/hhz.d/iv.hpac..hhz.d.2016.250.070018.sac (text%.*): iv-hhz-sac/hpac/hhz.d/iv.hpac..hhz.d.2016.250.070018 (text%%.*): iv-hhz-sac/hpac/hhz (text#*.): d/iv.hpac..hhz.d.2016.250.070018.sac... (2 Replies)
Discussion started by: kristinu
2 Replies

8. Shell Programming and Scripting

Bash Parameter Expansion

#!/bin/bash SNMPW='/usr/bin/snmpwalk' while read h i do loc=$($SNMPW -v3 -u 'Myusername' -l authPriv -a SHA -A 'Password1' -x AES -X 'Password2' $i sysLocation.0 2>/dev/null) loc=${loc:-" is not snmpable."} loc=${loc##*: } loc=${loc//,/} echo "$i,$h,$loc" done < $1 My question is ... ... (1 Reply)
Discussion started by: sumguy
1 Replies

9. Shell Programming and Scripting

Bash : More parameter expansion and IFS

I am trying to become more fluent with the interworking of bash and minimize the number of external calls. Sample Data. This will be the response of the snmp query. SNMPv2-MIB::sysName.0 = STRING: SomeHostName SNMPv2-MIB::sysObjectID.0 = OID: SNMPv2-SMI::enterprises.9.1.1745... (5 Replies)
Discussion started by: sumguy
5 Replies

10. Shell Programming and Scripting

Use parameter expansion over a parameter expansion in bash.

Hello All, Could you please do help me here as I would like to perform parameter expansion in shell over a parameter expansion. Let's say I have following variable. path="/var/talend/nat/cdc" Now to get only nat I could do following. path1="${path%/*}" path1="${path1##*/}" Here... (8 Replies)
Discussion started by: RavinderSingh13
8 Replies
PERL-AFTER-UPGRADE(1)					User Contributed Perl Documentation				     PERL-AFTER-UPGRADE(1)

NAME
perl-after-upgrade -- fixup FreeBSD packages that depend on perl SYNOPSIS
perl-after-upgrade perl-after-upgrade -f perl-after-upgrade -v DESCRIPTION
The standard procedure after a perl port (either lang/perl5.6 or lang/perl5.8) upgrade is to basically reinstall all other packages that depend on perl. This is always a painful exercise. The perl-after-upgrade utility makes this process mostly unnecessary. The tool goes through the list of installed packages, looks for those that depend on perl, moves files around, modifies shebang lines in those scripts in which it is necessary to do so, tries its best to adjust dynamically linked binaries that link with libperl.so in the old path, and updates the package database. After installation of the new perl is complete, either by hand from the ports collection, or from a package, or via portupgrade, do the following: o go root; o run perl-after-upgrade utility. Do not specify any arguments at first, so it does nothing destructive. Pay attention to the produced output and especially to errorlist at the end, if any; o run the utility again, with -f command line option. This will actually do the work. Again, pay attention to the output produced; o fix any reported errors; o reinstall required packages: The utility will tell you what packages that depend on perl it could not handle. It will also tell you why it happened (for example, they were compiled against a binary incompatible perl). If you want such packages to remain operational, you will have to reinstall then by hand or via portupgrade. o review the files left in the older perl installation. This is typically /usr/local/lib/perl5/site_perl/5.X.Y/. There should be very little, if any, files in that directory and its subdi- rectories, excepting a number of .ph files; o check that things work as they should; o remove backup files from the package database. Those will be /var/db/pkg/*/+CONTENTS.bak; o that's all. COPYRIGHT AND LICENSE
Copyright 2005 by Anton Berezin "THE BEER-WARE LICENSE" (Revision 42) <tobez@FreeBSD.org> wrote this module. As long as you retain this notice you can do whatever you want with this stuff. If we meet some day, and you think this stuff is worth it, you can buy me a beer in return. Anton Berezin NO WARRANTY OF ANY KIND, USE AT YOUR OWN RISK. HISTORY
The first version of this utility was not bundled with perl package on FreeBSD. It was dumber than the current version in several impor- tant areas. It was faster. CREDITS
Thanks to Mathieu Arnold for discussion. SEE ALSO
perl(1). perl v5.8.9 2009-04-13 PERL-AFTER-UPGRADE(1)
All times are GMT -4. The time now is 01:14 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy