02-08-2015
Quote:
Originally Posted by
jyu429
How should I modify the above if I have files with spaces and dashes instead?
What Scrutinizer showed you is called "parameter expansion" in the shell. You might want to look that up in the man page of your shell and learn how it works.
I hope this helps.
bakunin
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
Hi all,
I'm stuck on this last part...am running a simple script under AIX to extract NetView host IP addresses. The line below returns the IP address in parenthesis with a trailing colon, i.e.
ping -c 1 $name |grep \( | awk '{ print $3 }' --------> returns
(a.b.c.d):
How can I only... (10 Replies)
Discussion started by: livinthedream
10 Replies
2. UNIX for Dummies Questions & Answers
I just can't figure this one out.
I have a lot of files name (for example) ABC1234.5678.ext
I need to rename these files U0105678PQRS
So I'm removing everything before the first "."
I'm keeping "5678" in the file name
Adding "U010" to the front of "5678"
Dropping the ".ext" extension
... (5 Replies)
Discussion started by: bbbngowc
5 Replies
3. Shell Programming and Scripting
Hello, i'm unable to remove the parenthesis character.
With $parsed_AsciiName =~ s/\(//;
the string is the same
And with $parsed_AsciiName =~ s/(//;
i retrieve "Unmatched ( in regex; marked by <-- HERE in m/( <-- HERE"
Any ideas, please? thank you in advanced. (4 Replies)
Discussion started by: aristegui
4 Replies
4. UNIX for Advanced & Expert Users
How can I rename files with .c to .cpp in my current directory and if any directory present in current directory system should descend in to that and checks ( find )....
tell me how to achieve this using find command and other if any?
thanks. (7 Replies)
Discussion started by: shahnazurs
7 Replies
5. UNIX for Advanced & Expert Users
Hello
Please can someone help.
We are being sent a directiory full of images.
The names of these images can vary in length and have spaces in them.
example:
nn 999999 nnnnn nnnn nnnn nn nnn nnn nn nnnn.pdf
what we want to do is rename all the images. Take the first two fields nn 999999 and... (23 Replies)
Discussion started by: Dolph
23 Replies
6. Shell Programming and Scripting
Hi All
I have a folder that contains hundreds of file with a names
3.msa
4.msa
21.msa
6.msa
345.msa
456.msa
98.msa
...
...
...
I need rename each of this file by adding "core_" in the begiining of each file such as
core_3.msa
core_4.msa
core_21.msa (4 Replies)
Discussion started by: Lucky Ali
4 Replies
7. Shell Programming and Scripting
Hi,
I have a list of files in a folder with the same name ending (over 1000 files)
joe.jpy.jpeg
joe1.jpy.jpeg
joe2.jpy.jpeg
jon3.jpy.jpeg
jor5.jpy.jpeg
.....jpy.jpeg
etc.
I want to change jpy to hhk
So the output will be:
joe.hhk.jpeg
joe1.hhk.jpeg
joe2.hhk.jpeg
jon3.hhk.jpeg... (3 Replies)
Discussion started by: kylle345
3 Replies
8. Shell Programming and Scripting
Hi,
In sftp script to get files, I have to rename all the files which I am picking. Rename command does not work here. Is there any way to do this?
I am using #!/bin/ksh
For eg: sftp user@host <<EOF
cd /path
get *.txt
rename *.txt *.txt.done
... (7 Replies)
Discussion started by: jhilmil
7 Replies
9. Shell Programming and Scripting
The awk below works fine if I manually remove the () from file1. However, when I try to use tr to remove the () and then | into awk to run the calculation no result is obtained. Is there a way to tell the awk to ignore the () in fiile1 if they are there or do I need to remove them first? Thank... (5 Replies)
Discussion started by: cmccabe
5 Replies
10. Shell Programming and Scripting
I have a directory with a long list of files. I want to change their names such that
the first letter of the name of the author is capitalised.
I have tried the following command and did not get what I require.
rename 'y/....../....../' *.pdf
2007--nystrom--Diss.pdf... (1 Reply)
Discussion started by: Danette
1 Replies
LEARN ABOUT CENTOS
shell-quote
SHELL-QUOTE(1) User Contributed Perl Documentation SHELL-QUOTE(1)
NAME
shell-quote - quote arguments for safe use, unmodified in a shell command
SYNOPSIS
shell-quote [switch]... arg...
DESCRIPTION
shell-quote lets you pass arbitrary strings through the shell so that they won't be changed by the shell. This lets you process commands
or files with embedded white space or shell globbing characters safely. Here are a few examples.
EXAMPLES
ssh preserving args
When running a remote command with ssh, ssh doesn't preserve the separate arguments it receives. It just joins them with spaces and
passes them to "$SHELL -c". This doesn't work as intended:
ssh host touch 'hi there' # fails
It creates 2 files, hi and there. Instead, do this:
cmd=`shell-quote touch 'hi there'`
ssh host "$cmd"
This gives you just 1 file, hi there.
process find output
It's not ordinarily possible to process an arbitrary list of files output by find with a shell script. Anything you put in $IFS to
split up the output could legitimately be in a file's name. Here's how you can do it using shell-quote:
eval set -- `find -type f -print0 | xargs -0 shell-quote --`
debug shell scripts
shell-quote is better than echo for debugging shell scripts.
debug() {
[ -z "$debug" ] || shell-quote "debug:" "$@"
}
With echo you can't tell the difference between "debug 'foo bar'" and "debug foo bar", but with shell-quote you can.
save a command for later
shell-quote can be used to build up a shell command to run later. Say you want the user to be able to give you switches for a command
you're going to run. If you don't want the switches to be re-evaluated by the shell (which is usually a good idea, else there are
things the user can't pass through), you can do something like this:
user_switches=
while [ $# != 0 ]
do
case x$1 in
x--pass-through)
[ $# -gt 1 ] || die "need an argument for $1"
user_switches="$user_switches "`shell-quote -- "$2"`
shift;;
# process other switches
esac
shift
done
# later
eval "shell-quote some-command $user_switches my args"
OPTIONS
--debug
Turn debugging on.
--help
Show the usage message and die.
--version
Show the version number and exit.
AVAILABILITY
The code is licensed under the GNU GPL. Check http://www.argon.org/~roderick/ or CPAN for updated versions.
AUTHOR
Roderick Schertler <roderick@argon.org>
perl v5.16.3 2010-06-11 SHELL-QUOTE(1)