05-03-2002
Thanks Perderabo!
i tried your code and it works great. although i had an error
when i entered the string df/DF.
apalex>cat infile
pattern1 $Major
pattern2 -Crit
pattern3 df/DF
pattern4 h'405
pattern5 \ffe
pattern6 ab >
pattern7 abc >>
pattern8 A"a"
pattern9 `0de`
apalex> cat whereis
#! /usr/bin/ksh
IFS=""
print -n "enter search string -"
read string
sed -n '/'"${string}"'/=' < infile
exit 0
apalex> whereis
enter search string -df/DF
sed: command garbled: /df/DF/=
apalex>
I just thought its easier to type the string on the
command line, so i tried to insert your code in
my script but it really gives me a lot of errors...
apalex> cat whereis1
#!/bin/ksh
case $# in
0) echo "\n\t No pattern(s) entered! Try again."
echo "\t Usage: whereis1 pattern1 [pattern2]"
exit 1 ;;
*) sed -n '/'"${*}"'/=' < infile
exit 0 ;;
esac
it doesn't work on patterns:
$Major, ab > and abc >>
I really appreciate this forum, gives me a chance to improve my
skills. Thanks a lot guys!!!
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
Hi,
I am reading a file (GC_JAR.log) which has entries like:
511725.629, 0.1122672 secs]
525268.975, 0.1240036 secs]
527181.835, 0.2068215 secs]
527914.287, 0.2884801 secs]
528457.134, 0.2548725 secs]
I want to replace all the entries of "secs]" with just "secs"
Thus, the output... (4 Replies)
Discussion started by: itzz.me
4 Replies
2. Shell Programming and Scripting
I started with this:
counter1=1
cp file.txt file_${counter1}.tmp
while read name1
do
echo $name1
counter2=`expr $counter1 + 1`
sed /'${name1}'/d file_${counter1}.txt > file_${counter2}.txt
counter1=`expr $counter1 + 1`
done < source.txtsource.txt contains the... (1 Reply)
Discussion started by: lakanino
1 Replies
3. Shell Programming and Scripting
Hi everyone
I have file1 contains:
'7832'
' 8765
6543
I want a sed command that will format as:
'7832' , '8765' , '6543'
I tried
sed -e s/\'//g -e 's/^*//;s/*$//' file1 > file2
sed -e :a -e '$!N; s/\n/ /; ta' file2
which gives: 7832 8765 6543
I need some help to continue with... (5 Replies)
Discussion started by: nimo
5 Replies
4. Shell Programming and Scripting
Hello All
Seeking the right one SED command.
My attempt is:
From orginal.txt by SED to target.txt
sed -i "/('outbound-callerid/a\$ext->add($context, $exten, '', new ext_SipAddHeader('P-Preferred-Identity', '<sip:${CALLERID(nummer)}@carrier.com>'));" orginal.txtWhat am make wrong?:wall:
... (5 Replies)
Discussion started by: mdbinder
5 Replies
5. Shell Programming and Scripting
Hello All,
I am here again scratching my head on pattern selection with special characters.
I have a large file having around 200 entries and i have to select a single line based on a pattern.
I am able to do that:
Code:
cat mytest.txt | awk -F: '/myregex/ { print $2}'
... (6 Replies)
Discussion started by: usha rao
6 Replies
6. Shell Programming and Scripting
Hello Everyone,
I need to read an encrypted password from the user and update that value in an xml file. I am trying to use "sed" for searching the appropriate tag and replacing this new value that get from the user. Since the encrypted password can contain special characters(like /,\,&,etc),... (4 Replies)
Discussion started by: majose
4 Replies
7. Shell Programming and Scripting
Need help in escaping special characters in sed command.
Here is the the string which i am trying to find a replace with
From :- REQUEST_TYPE=PIXEL&MSG_ID={//MESSAGE_ID}
To :- REQUEST_TYPE=PIXEL&MSG_ID= X_EDELIVERY_MESSAGE_ID & BATCH_ID= X_EDELIVERY_BATCH_ID
Here is the sed command i am... (2 Replies)
Discussion started by: aakishore
2 Replies
8. Shell Programming and Scripting
Hi,
I have a file with this line, it's always in the first line:
I want to remove these special characters: ´╗┐
file1
´╗┐\\bar\c$\test2\;3.348.118 Bytes;160 ;3
\\bar\c$\test\;35 Bytes;2 ;1
I want the same file to be only
\\bar\c$\test2\;3.348.118 Bytes;160 ;3
\\bar\c$\test\;35... (4 Replies)
Discussion started by: nakaedu
4 Replies
9. Shell Programming and Scripting
I am dusting off the sed cobwebs and had a basic question:
I have a file that contains:
$firewall = "on";
$cache = "on";
$dataset{'mary had a little lamb'} = "on";
and want to only change the contents of what is between the single quotes:
$dataset{'big bad wolf'} = "on";
I... (3 Replies)
Discussion started by: metallica1973
3 Replies
10. Shell Programming and Scripting
I have the foolowing data file:
File1
<p name="A">5004</p>
<p name="B">5004</p>
<p name="C">5004</p>
<p name="A">15004</p>
<p name="B">15004</p>
<p name="C">15004</p>
In a while loop using sed (100 of line need to be replace), I need the output to File3:... (2 Replies)
Discussion started by: bobo
2 Replies
echo(1) General Commands Manual echo(1)
NAME
echo - Writes its arguments to standard output
SYNOPSIS
echo [-n] [string...]
[Tru64 UNIX] The -n option is valid only if the environment variable CMD_ENV is set to bsd.
Note
The C shell has a built-in version of the echo command. If you are using the C shell, and want to guarantee that you are using the command
described here, you must specify the full path /usr/bin/echo. See the csh(1) reference page for a description of the built-in command.
STANDARDS
Interfaces documented on this reference page conform to industry standards as follows:
echo: XCU5.0
Refer to the standards(5) reference page for more information about industry standards and associated tags.
OPTIONS
[Tru64 UNIX] No newline is added to the output. The -n option is valid only if the environment variable CMD_ENV is set to bsd. Otherwise
any -n operand is treated as a string rather than as a option. See the printf(1) reference page for use in portable applications.
OPERANDS
The string to be displayed on standard output. The echo command recognizes the following special characters in the string: Displays an
alert character. Displays a backspace character. Suppresses the newline character. All characters following c in the arguments are
ignored. Displays a formfeed character. Displays a newline character. Displays a carriage-return character. Displays a tab character.
Displays a vertical tab character. Displays a backslash character. Displays an 8-bit character whose value is the 1-, 2- or 3-digit octal
number, number. The first digit of number must be a 0 (zero).
DESCRIPTION
The echo command writes the specified string to standard output, followed by a newline character.
The arguments are separated by spaces. Use the echo command to produce diagnostic messages in command files and to send data into a pipe.
If there are no arguments, the echo command outputs a newline character.
[Tru64 UNIX] The echo command described here is the program /usr/bin/echo. Both csh and sh shells contain built-in echo subcommands,
which do not necessarily work in the same way as the /usr/bin/echo command.
EXIT STATUS
The following exit values are returned: Successful completion. An error occurred.
EXAMPLES
To write a message to standard output, enter: echo Please insert diskette . . . To display a message containing special characters as
listed in DESCRIPTION, enclose the message in quotes, as follows: echo "
I'm at lunch.
I'll be back at 1 p.m."
This skips three lines and displays the message: I'm at lunch. I'll be back at 1 p.m.
Note
You must enclose the message in quotation marks if it contains escape sequences such as
. Otherwise, the shell treats the back-
slash () as an escape character. The previous command example, entered without the quotes, results in the following output: nnnI'm
at lunch.nI'll be back at 1 p.m.
To use echo with pattern-matching characters, enter: echo The back-up files are: *.bak
This displays the message The back-up files are: and then displays the file names in the current directory ending with To add a sin-
gle line of text to a file, enter: echo Remember to set the shell search path to $PATH. >>notes
This adds the message to the end of the file notes after the shell substitutes the value of the PATH shell variable. To write a
message to the standard error output (sh only), enter: echo Error: file already exists. >&2
Use this in shell procedures to write error messages. If the >&2 is omitted, then the message is written to the standard output.
ENVIRONMENT VARIABLES
The following environment variables affect the execution of echo: [Tru64 UNIX] This variable must set to bsd for the -n option to be
valid. Otherwise any -n operand is treated as a string member. Provides a default value for the internationalization variables that are
unset or null. If LANG is unset or null, the corresponding value from the default locale is used. If any of the internationalization vari-
ables contain an invalid setting, the utility behaves as if none of the variables had been defined. If set to a non-empty string value,
overrides the values of all the other internationalization variables. Determines the locale for the interpretation of sequences of bytes
of text data as characters (for example, single-byte as opposed to multibyte characters in arguments). Determines the locale for the for-
mat and contents of diagnostic messages written to standard error. Determines the location of message catalogues for the processing of
LC_MESSAGES.
SEE ALSO
Commands: csh(1), ksh(1), printf(1), Bourne shell sh(1b), POSIX shell sh(1p)
Environment: environ(5)
Standards: standards(5)
echo(1)