03-12-2020
Quote:
Originally Posted by
DanilOnTheSky
It worked, can you explain a little bit why?
Regards,
The caret sign (
^)means that the expression only matches text at the beginning of the line.
There already had be a space at the end.
These two measures make that a partial match will not work.
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
I want to list all files created in a day but it doesn't work
$ day=\'`date "+%b %d"`\'
$ echo $day
>>> 'Mar 12'
$ ll |grep $day
>>> can't open 12'
????? please help me (3 Replies)
Discussion started by: Medhi
3 Replies
2. UNIX for Advanced & Expert Users
I am doing "ps -f" to see my process.
but I get lines that one of it represents the ps command itself.
I want to grep it out using -v flag, but than I get another process that belongs to the GREP itself :
I would like to exclude
# ps -f
UID PID PPID C STIME TTY TIME CMD... (2 Replies)
Discussion started by: yamsin789
2 Replies
3. UNIX for Advanced & Expert Users
I want to search pattern in between two words in a file
so how to write query by using grep command??
Also want to get two words.. (2 Replies)
Discussion started by: ksr.test
2 Replies
4. UNIX for Advanced & Expert Users
In my file contains special characters,alphanumerics all thease characters
how to search the pattern between two strings that contains special characters
Ex: find pattern between allocation_map_128*2 to creative.clicks_allocate != KNULL
so there are special characters in my... (1 Reply)
Discussion started by: ksr.test
1 Replies
5. UNIX for Dummies Questions & Answers
Hi,
I am new to UNIX environment, to find a contents from a given files i have used the command "grep -l "<search word>" *.txt, it is given the file names which contains that particular word, but it is anyway to get entire details of the file .., i need the output like ls -ltr, filename... (3 Replies)
Discussion started by: subrahmaniank
3 Replies
6. UNIX for Dummies Questions & Answers
Hi guys, i wondering with any1 could help me with this.
I have this script will i need to "grep" an integer form a file x2. If the value is 0 then it's ok. But anything greater then 0, i'll ask the script to echo an error message. This is how the script looks like:
MESSAGEFILE=x2
STRING="0"
... (5 Replies)
Discussion started by: hanyou.lin
5 Replies
7. Shell Programming and Scripting
i want to search in the current directory all the files that contain one word for example "hello"
i want to achieve it with the grep command but not with the grep * (2 Replies)
Discussion started by: aintour
2 Replies
8. Shell Programming and Scripting
Hi, im taking an entry Unix class, and as part of my lab assignment I have to copy all files in the /home/david/lab3 directory that have the file extension .save to your lab3/temp directory. I'm having trouble getting the grep to do anything worth while
I've been trying to do:
cp... (6 Replies)
Discussion started by: Critical jeff
6 Replies
9. Shell Programming and Scripting
I have one text file, contains some values like <Q1:Name>1000000</Q1:Name>. I want to read the values and stores into an array for searching the each values into a file locations.
If I use this
find location |xargs grep -l "<Q1:Location>100000055042</Q1:Location>",I get the files, are having... (7 Replies)
Discussion started by: arindam guha
7 Replies
10. Shell Programming and Scripting
Hello,
I am running below command as root user
#nodetool cfstats tests | grep "Memtable switch count"
Memtable switch count: 12
Where as when I try to run same command as another user it gives different result.
#su -l zabbix -s /bin/bash -c "nodetool cfstats tests | grep "Memtable switch... (10 Replies)
Discussion started by: Pushpraj
10 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)