Sponsored Content
Full Discussion: Confusing sed error message
Top Forums Shell Programming and Scripting Confusing sed error message Post 303027455 by Ralph on Sunday 16th of December 2018 06:57:02 AM
Old 12-16-2018
Confusing sed error message

This situation is extracted from a larger context. My intention for now is to escape the forward slashes in the path of a filename. (Ultimately the LINEs will come from a file.)
Code:
while read LINE ; do
        sed 's/\//\\\//g' <<< "$LINE"    # ok
        escaped=`sed 's/\//\\\//g' <<< "$LINE"`   # error message
        echo $escaped
done <<here
==: dir1/dir2/file1 dir3/dir4/file2
==: dir5/dir6/file3 dir1/file4
==: dir3/file5 dir3/file6
==: dir1/file4 dir5/dir6/file3
==: dir3/dir4/file2 dir1/dir2/file1
==: dir3/file6 dir3/file5
here

While the direct sed output looks the way I want the next line where I try to assign that to a variable gives me an error message:
Code:
==: dir1\/dir2\/file1 dir3\/dir4\/file2
sed: -e expression #1, char 9: unknown option to `s'

What's the problem?

--- Post updated at 11:57 AM ---

Well... when I use $() instead of the `` it works as it should:
Code:
while read LINE ; do
        sed 's/\//\\\//g' <<< "$LINE"
#        escaped=`sed 's/\//\\\//g' <<< "$LINE"`   # doesn't work
        escaped=$(sed 's/\//\\\//g' <<< "$LINE")   # works
        echo $escaped \<-\$escaped
done <<here
==: dir1/dir2/file1 dir3/dir4/file2
==: dir5/dir6/file3 dir1/file4
==: dir3/file5 dir3/file6
==: dir1/file4 dir5/dir6/file3
==: dir3/dir4/file2 dir1/dir2/file1
==: dir3/file6 dir3/file5
here

Output:
Code:
==: dir1\/dir2\/file1 dir3\/dir4\/file2
==: dir1\/dir2\/file1 dir3\/dir4\/file2 <-$escaped
==: dir5\/dir6\/file3 dir1\/file4
==: dir5\/dir6\/file3 dir1\/file4 <-$escaped
etc.

But what's the difference between the two? The Bash Reference doesn't mention any.

Last edited by Ralph; 12-16-2018 at 05:42 AM..
 

9 More Discussions You Might Find Interesting

1. Solaris

(Need Help) confusing format on solaris 10

Hi All, Very need help about format syntax on solaris 10. I have done install Solaris 10 OS on sun fire v245 but currently i have a problem to use "format" command to display partition info for my hard drive. i cannot enter the format menu, below is captured display : # format Searching... (7 Replies)
Discussion started by: bucci
7 Replies

2. Shell Programming and Scripting

Confusing Error

Hi all, Just subscribed to this forum. Not a regular user of Unix.:) I did the following: We have a directory structure /a/b/c5/ Where c5 is the only directory inside b. export ANOOP=/a/b/c*/ echo $ANOOP=/a/b/c5/ I have to create a symbolic link to anoop.txt in the directory... (2 Replies)
Discussion started by: Pankajakshan
2 Replies

3. Shell Programming and Scripting

Confusing me......!!!!!!

Hiii... There... I am making a Script in which I am taking the value of a variable "var" through key board. But I want, if no values are supplied for "var" for more than 5 seconds then script shuld automatically exit.Script is as follow : #cat abc #!/bin/bash echo "Enter Your Choice : "... (4 Replies)
Discussion started by: prashantshukla
4 Replies

4. UNIX and Linux Applications

pikdev requirements confusing

I am looking at installing PiKdev which needs libqt3-mt and kdelibs4-dev. The installed package is qt-r1008952-i486-1 which claims to be a gui toolkit. find / -name "*libqt*" yields nothing with mt just a lot of support, compatible, and access widgets. Normally I would consider this a no go but... (0 Replies)
Discussion started by: slak0
0 Replies

5. Shell Programming and Scripting

Confusing find command option

Hi, I am a little bit confusing of using find command. Actually, I am planning to delete the files whatever the files are existing in the day before yesterday. So, I am writing the command like this. find . -name "*.txt" -ctime -2 { here I am confusing, if I will use +2 or +1 also I am... (5 Replies)
Discussion started by: nagraju.allam
5 Replies

6. Shell Programming and Scripting

sed garbled error message in bash shell

Sed garbled error. Cannot determine why the sed command to insert a line at the beginning of a file will not work on declared variables. outfile='DAR.V2.2012115.1.CSV' testfile='totality_request.sql' header_prefix='DATA FILE' no_ext_file=`echo $outfile |sed 's/\(.*\)..../\1/'` ... (6 Replies)
Discussion started by: smenago
6 Replies

7. Shell Programming and Scripting

sed to extract a multiline subject from a mail message

I'm trying to extract a subject from a mail message but my subject example has 2 lines. How can I manage to extract it and write a string at the end of it? Consider this example: From: test@domain.com Subject: Re: U =?ISO-8859-1?Q?qu=EA=3F!=3F!=3F!!_wtff_=E7=E3o_=ED=F3?= ... (6 Replies)
Discussion started by: twisterbr
6 Replies

8. Shell Programming and Scripting

Ps command output confusing

Hi, I ran a script named cat item when I searched for this script using command PS I get two process . I don't understand this. Also this script has run for 15 minutes but the time is showing as 0:00:confused::confused: ps -ef | grep cat_item catmgr 4508 4486 0 05:10:29 ? 0:00... (5 Replies)
Discussion started by: TomG
5 Replies

9. Shell Programming and Scripting

Confusing of some basic awk

1. increase file space first, double space a file: awk '1;{print ""}' I probably can understand it:print a blank line every time.But when I read triple space a file I am confused: awk '1;{print "\n"}' doesn't it meaning print a blank line every time too? 2. number each line of file, but... (6 Replies)
Discussion started by: hhdzhu
6 Replies
COL(1)							    BSD General Commands Manual 						    COL(1)

NAME
col -- filter reverse line feeds from input SYNOPSIS
col [-bfhpx] [-l num] DESCRIPTION
The col utility filters out reverse (and half reverse) line feeds so that the output is in the correct order with only forward and half for- ward line feeds, and replaces white-space characters with tabs where possible. This can be useful in processing the output of nroff(1) and tbl(1). The col utility reads from the standard input and writes to the standard output. The options are as follows: -b Do not output any backspaces, printing only the last character written to each column position. -f Forward half line feeds are permitted (``fine'' mode). Normally characters printed on a half line boundary are printed on the fol- lowing line. -h Do not output multiple spaces instead of tabs (default). -l num Buffer at least num lines in memory. By default, 128 lines are buffered. -p Force unknown control sequences to be passed through unchanged. Normally, col will filter out any control sequences from the input other than those recognized and interpreted by itself, which are listed below. -x Output multiple spaces instead of tabs. In the input stream, col understands both the escape sequences of the form escape-digit mandated by Version 2 of the Single UNIX Specification (``SUSv2'') and the traditional BSD format escape-control-character. The control sequences for carriage motion and their ASCII values are as follows: ESC-BELL reverse line feed (escape then bell). ESC-7 reverse line feed (escape then 7). ESC-BACKSPACE half reverse line feed (escape then backspace). ESC-8 half reverse line feed (escape then 8). ESC-TAB half forward line feed (escape than tab). ESC-9 half forward line feed (escape then 9). In -f mode, this sequence may also occur in the output stream. backspace moves back one column (8); ignored in the first column carriage return (13) newline forward line feed (10); also does carriage return shift in shift to normal character set (15) shift out shift to alternate character set (14) space moves forward one column (32) tab moves forward to next tab stop (9) vertical tab reverse line feed (11) All unrecognized control characters and escape sequences are discarded. The col utility keeps track of the character set as characters are read and makes sure the character set is correct when they are output. If the input attempts to back up to the last flushed line, col will display a warning message. ENVIRONMENT
The LANG, LC_ALL and LC_CTYPE environment variables affect the execution of col as described in environ(7). EXIT STATUS
The col utility exits 0 on success, and >0 if an error occurs. SEE ALSO
colcrt(1), expand(1), nroff(1), tbl(1) STANDARDS
The col utility conforms to Version 2 of the Single UNIX Specification (``SUSv2''). HISTORY
A col command appeared in Version 6 AT&T UNIX. BSD
May 10, 2015 BSD
All times are GMT -4. The time now is 05:26 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy