I was wondering how I can modify this for loop, so it only loops through the filenames that do not have an ".old" extension.
for filename in $(ls "$1")
do
echo $filename | grep '\.old$' > /dev/null
if
then mv $1/$filename $1/$filename.old
fi
done (5 Replies)
Hi,
Following is my code and the file FILE_LIST_EXCESS.txt has 40 file names in it
while read LineIn
do
echo ${LineIn}
`ftp -vin << END_INPUT >> ${PID}_DS_GET_Log.log 2>&1
open servername
user userid password
cd FileDir
get ${LineIn}
END_INPUT`... (4 Replies)
I have 2 files one of them has all the all mac addresses and the other one has all the ip addresses. Basically, I want to loop thru those 2 files and generate a configuration like below:
host www184.domain.com {
hardware ethernet 00:13:72:3B:B4:3A;
fixed-address 192.168.0.184;
}... (4 Replies)
function ext
{
echo "THANKS & WELCOME BACK"
}
function upc
{
echo "TO EXPORT UPROC GIVE UPROC NAME PER LINE IN THE input.txt and PRESS Y"
echo "TO GO BACK PRESS 99"
read parm0
if ;
then
start
elif ;
then
for i in `cat input.txt` ; do
echo $i
$UXEXE/uxext upr upr=$i... (0 Replies)
Hi, my script is waiting for 3 files to come to a folder for 30 min but even when all the files arrive in the folder it's still waiting for these three files. Files can come with in 2 min and I want it to start processing them immediately after all the files arrive in the folder.
until ; do... (3 Replies)
sup experts..i had a script which was bugging me..was hoping someone could point out the issue here
Input file: space separated 2 columns
I wanted to print out the 2 columns after assigning them to variables ( bascially the same output but iterate through line by line ). The code worked... (7 Replies)
Hi,
i=0
t5=6000001
while
do
i=`expr $i + 1`
t5=`expr $t5 + 1`
echo $t5
done
I am able to increment "col3" value but unable to get col1,col2 value.
Input:
t1=10001
t2=abc
t3=ghkc (5 Replies)
Hi,
I have prepared a script to search for backup file information on the Linux server. Script works fine for the most part except the echo statement inside an IF conditional block displays the message ''snapshot directory not found on xxxxx" even though the .snapshot directory is found a... (11 Replies)
Hi Team,
I have for loop in my shell script. Which basically loop through all files in the directory, When some files are in the directory it works just fine.
But if there are no files at all..still the for loop try to execute. Please help. Below is the code.
#!/bin/ksh
echo "Program... (5 Replies)
Hi,
I just have started learning shell scripting (sh). Why do i only get the date?
while read dt
do
echo "Date : ${dt}
sed -n '/${dt}/,/${dt}/p' file1.log | grep -w ERROR
done < date1.dat
INPUT - date1.dat
2019-04-05 04:58:25
2019-04-05 04:58:26
2019-04-05 05:00:56... (3 Replies)
Discussion started by: margel
3 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)