07-11-2017
Quote:
Originally Posted by
RudiC
Nice approach. You might want to add a plus sign or a star to allow for multiple words. And, not sure if two or more adjacent minus signs are acceptable?
You are right, the missing asterisk was a typo, which i have corrected now. Thank you for spotting it.
You are right about adjacent hyphens maybe being not allowed, but that is a lack of information from the threads o/p. If he can better specify his needs i can construct better suited regexps. The point, though, was to show how a regexp can be constructed from a specification at all.
all the best
bakunin
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
Hello,
I am new in perl and in regular exprecion; so I am looking for help (or an experienced advise.)
The target is a triming spaces from a string: i.e., remove spases from begining and from end of a string.
One of main point of a searched solution is performance: for current task it is... (2 Replies)
Discussion started by: alex_5161
2 Replies
2. Shell Programming and Scripting
Hi Guys,
I have a file like this:
wwwe 1 ioie ewew yyy uuu 88
erehrlk 4 ihoiwhe lkjhassad lkhsad yyy mmm 45
jhash lhasdhs lkhsdkjsn ouiyrshroi oihoihswodnw oiyhewe yyy ggg 77
I want to remove everything after "yyy" and including "yyy" from each line in the file.
So I want:... (2 Replies)
Discussion started by: npatwardhan
2 Replies
3. Shell Programming and Scripting
I am trying to check if files staring with filename but ending with diffent dates e.g. filename.2011-10-25.
The code I am using is below
if
It works find only if one file is present but returns binary operator expected
when there are mulptiple files.
Please help me correcting it. I... (5 Replies)
Discussion started by: ningy
5 Replies
4. UNIX for Advanced & Expert Users
Hi all,
I need to do scrip for printing starting and ending numbers along with count in given file.:wall:
Input: a.txt
10000030
10000029
10000028
10000027
10000026
10000024
10000023
10000021
10000018
10000018
10000017
10000016
10000015
10000014 (2 Replies)
Discussion started by: jackbell2013
2 Replies
5. Shell Programming and Scripting
Hi Guys..
I have a file and i want to extract all words that starts with a pattern 'ABC_' or 'ADF_'
For example,
ABC.txt
----
INSERT INTO ABC_DLKFJAL_FJKLD
SELECT DISTINCT S,B,C FROM ADF_DKF_KDFJ_IERU8 A, ABC_LKDJFREUE9_FJKDF B
WHERE A.FI=B.EI;
COMMIT;
Output : ABS_DLKFJAL_FJKLD,... (5 Replies)
Discussion started by: Pramod_009
5 Replies
6. Shell Programming and Scripting
Hello,
My OS is Windows and therefore DOS. Hence I have no access to Unix tools.
I am trying to sort a file in Urdu by the character by which it ends. Each word is on a separate line.
As input, an example in English would help:
fruit
banana
apple
pear
house
I need the sort to be on the... (5 Replies)
Discussion started by: gimley
5 Replies
7. Shell Programming and Scripting
I have three words say abc def and ghi. I want to write them in a text file each starting (not ending) at particular positions say 1, 42 and 73. It is guaranteed that they will not overwrite.
Length of the three variable may vary.
Any help? (5 Replies)
Discussion started by: Soham
5 Replies
8. Shell Programming and Scripting
Hello,
Here is my text data excerpted from the webpage:
input
My target is to get:
What i tried is:
sed 's/.*\(connector\)/1/' input > output
but all characters coming before the word "connector" are deleted which is not good for me.
My question: (9 Replies)
Discussion started by: baris35
9 Replies
9. Shell Programming and Scripting
OS : Oracle Linux 6.5
Shell : bash
I have a file whose contents look like below. I want to count the number of occurences of strings starting with 3-.
How can I do this ? I couldn't wordwrap the below line. Hence it looks long.
'3-90892405251', '3-90892911050', '3-90893144163',... (8 Replies)
Discussion started by: John K
8 Replies
10. Shell Programming and Scripting
hi,
i need to replace all words in any quote position and then need to change the words inside the file thousand of raw.
textfile data :
"Ninguno","Confirma","JuicioABC"
"JuicioCOMP","Recurso","JuicioABC"
"JuicioDELL","Nulidad","Nosino"
"Solidade","JuicioEUR","Segundo"
need... (1 Reply)
Discussion started by: benjietambling
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)