Sponsored Content
Top Forums Shell Programming and Scripting sed returns error "sed: -e expression #1, char 18: unterminated `s' command" Post 302715463 by bakunin on Monday 15th of October 2012 02:57:03 AM
Old 10-15-2012
Quote:
Originally Posted by anand.shah
Dear Elixir,
I tried in the same way.But it didn't work.Another thing that I suspect is original strings that I posted were like below
The sed command elixir_sinari provided would work on the strings you showed, underscore or not. The real problem is probably that you are not showing us any real data but some small sample of it. This is just stealing everybodies time.

Having said this: elixir_sinari's solution presumes the string to be changed being at the beginning of the line. This is based on the evidence you showed: the strings being at the beginning of the lines. My suspicion is that the strings are anywhere in the file, not just at the beginning of the line and therefore elixir_sinaris command won't work.

So either you present what you really see, not just an arbitrary misleading part of it, or you adapt elixir_sinaris solution to your requirements yourself.

I hope this helps.

bakunin
This User Gave Thanks to bakunin For This Post:
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

"sed -n expression " fails. Why?

Hi Everyone! I am trying to extract records between date makers in a log file. My selection string doesn't work, though. Please help. This test works, if I manually enter the two date-strings (output=28 lines): # sed -n '/\/,/\/p' ./access_log But if the date string is a variable, it will... (2 Replies)
Discussion started by: grahamb
2 Replies

2. Shell Programming and Scripting

cat $como_file | awk /^~/'{print $1","$2","$3","$4}' | sed -e 's/~//g'

hi All, cat file_name | awk /^~/'{print $1","$2","$3","$4}' | sed -e 's/~//g' Can this be done by using sed or awk alone (4 Replies)
Discussion started by: harshakusam
4 Replies

3. Shell Programming and Scripting

sed: -e expression #1, char 21: unterminated `s' command

I have read many threads, but I still didn't find the right answer. May be i didn't find the right thread, though are so many threads for the same question. Basically the situation is - find date in a file and replace it with another date. (its not homework, its part of lot of a big processing,... (10 Replies)
Discussion started by: avinthm
10 Replies

4. Shell Programming and Scripting

how to use "cut" or "awk" or "sed" to remove a string

logs: "/home/abc/public_html/index.php" "/home/abc/public_html/index.php" "/home/xyz/public_html/index.php" "/home/xyz/public_html/index.php" "/home/xyz/public_html/index.php" how to use "cut" or "awk" or "sed" to get the following result: abc abc xyz xyz xyz (8 Replies)
Discussion started by: timmywong
8 Replies

5. UNIX for Dummies Questions & Answers

sed error unterminated `s' command

I have list of data I have cut down to format: I am using sed command to remove the sed 's/ Returns error: sed: -e expression #1, char 5: unterminated `s' command Full code line is: cat textFile | cut -d ' ' -f 4 | cut ':' -f 1 | sed 's/ Thanks, Please use next time code tags... (2 Replies)
Discussion started by: maximus73
2 Replies

6. Shell Programming and Scripting

Sed: -e expression #1, char 2: extra characters after command

Greetings.. getting the error while execution of the script, correct where i am missing #!/bin/bash DATE=`date +%Y-%m-%d:::%H:%M` HOSTNAME=`hostname` TXT="/log/temp.txt" LOGPATH="/log1/commanlogs/" IP=`/sbin/ifconfig | grep -i inet| head -n1| awk '{print $2}'| awk -F : '{print $2}'`... (7 Replies)
Discussion started by: manju98458
7 Replies

7. Shell Programming and Scripting

Source command returns error when it strikes conditional statement "ifeq"

Hello All, I am running source command on my project configuration file app.cfg which has conditional statements with make file systax E.g ifeq ($(APP_CMP_DIR),trunk). When I source this file it throws error: syntax error near unexpected token... (1 Reply)
Discussion started by: anand.shah
1 Replies

8. Shell Programming and Scripting

Sed: -e expression #1, char 16: unterminated address regex

I am trying to grep for a particular text (Do action on cell BL330) in a text file(sample.gz) which is searched in the content filtered by date+timestamp (2016-09-14 01:09:56,796 to 2016-09-15 04:10:29,719) on a remote machine and finally write the output into a output file on a local machine. ... (23 Replies)
Discussion started by: rbadveti
23 Replies

9. Shell Programming and Scripting

Using sed command to replace "|" with ^ for all *.dat files in a folder not working

I am trying to use the below sed command to replace all "|" to ^, in a folder had 50 dat files. when i tried with 1 file it worked but when i tried with wild card, is not working. sed -i 's/"|"/\^/g' *.dat Is this the proper way to use sed command thank you very much for help. (3 Replies)
Discussion started by: cplusplus1
3 Replies

10. UNIX for Beginners Questions & Answers

Sed: -e expression #1, char 20: unterminated address regex

I am trying to add word in last of particular line. the same command syntex is running on prompt. but in bash script give error."sed: -e expression #1, char 20: unterminated address regex" Please help. for i in `cat servername`; do ssh -q -t root@$i sed -i '/simple_allow_groups =/s/$/,... (4 Replies)
Discussion started by: yash_message
4 Replies
XSTR(1) 						    BSD General Commands Manual 						   XSTR(1)

NAME
xstr -- extract strings from C programs to implement shared strings SYNOPSIS
xstr [-cv] [-l array] [-] [file ...] DESCRIPTION
xstr maintains a file strings into which strings in component parts of a large program are hashed. These strings are replaced with refer- ences to this common area. This serves to implement shared constant strings, most useful if they are also read-only. Available options: - xstr reads from the standard input. -c xstr will extract the strings from the C source file or the standard input (-), replacing string references by expressions of the form (&xstr[number]) for some number. An appropriate declaration of xstr is prepended to the file. The resulting C text is placed in the file x.c, to then be compiled. The strings from this file are placed in the strings data base if they are not there already. Repeated strings and strings which are suffixes of existing strings do not cause changes to the data base. -l array Specify the named array in program references to abstracted strings. The default array name is xstr. -v Be verbose. After all components of a large program have been compiled, a file xs.c declaring the common xstr space can be created by a command of the form: $ xstr The file xs.c should then be compiled and loaded with the rest of the program. If possible, the array can be made read-only (shared) saving space and swap overhead. xstr can also be used on a single file. The following command creates files x.c and xs.c as before, without using or affecting any strings file in the same directory: $ xstr name It may be useful to run xstr after the C preprocessor if any macro definitions yield strings or if there is conditional code which contains strings which may not, in fact, be needed. An appropriate command sequence for running xstr after the C preprocessor is: $ cc -E name.c | xstr -c - $ cc -c x.c $ mv x.o name.o xstr does not touch the file strings unless new items are added, thus make(1) can avoid remaking xs.o unless truly necessary. FILES
strings Data base of strings x.c Massaged C source xs.c C source for definition of array `xstr' /tmp/xs* Temp file when `xstr name' doesn't touch strings SEE ALSO
mkstr(1) HISTORY
The xstr command appeared in 3.0BSD. BUGS
If a string is a suffix of another string in the data base, but the shorter string is seen first by xstr both strings will be placed in the data base, when just placing the longer one there will do. xstr does not parse the file properly so it does not know not to process: char var[] = "const"; into: char var[] = (&xstr[N]); These must be changed manually into an appropriate initialization for the string, or use the following ugly hack. Also, xstr cannot initialize structures and unions that contain strings. Those can be fixed by changing from: struct foo { int i; char buf[10]; } = { 1, "foo" }; to: struct foo { int i; char buf[10]; } = { 1, { 'f', 'o', 'o', '' } }; The real problem in both cases above is that the compiler knows the size of the literal constant so that it can perform the initialization required, but when xstr changes the literal string to a pointer reference, the size information is lost. It would require a real parser to do this right, so the obvious solution is to fix the program manually to compile, or even better rely on the compiler and the linker to merge strings appropriately. Finally, xstr is not very useful these days because most of the string merging is done automatically by the compiler and the linker, provided that the strings are identical and read-only. BSD
July 23, 2004 BSD
All times are GMT -4. The time now is 07:39 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy