LinuxQuestions.org
Share your knowledge at the LQ Wiki.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Newbie
User Name
Password
Linux - Newbie This Linux forum is for members that are new to Linux.
Just starting out and have a question? If it is not in the man pages or the how-to's this is the place!

Notices


Reply
  Search this Thread
Old 03-07-2017, 05:30 AM   #1
vincix
Senior Member
 
Registered: Feb 2011
Distribution: Ubuntu, Centos
Posts: 1,240

Rep: Reputation: 103Reputation: 103
testing Next in sed


(source: http://docstore.mik.ua/orelly/unix/sedawk/ch06_01.htm)
This is the text:
Code:
Consult Section 3.1 in the Owner and Operator
Guide for a description of the tape drives
available on your system.
Code:
/Operator$/{
    N
    s/Owner and Operator\nGuide /Installation Guide\
    /
}
The substitution is self-explanatory. The problem is that when I try sed -f script file.txt, I always get an indentation for the second line, like the following:
Code:
Consult Section 3.1 in the Installation Guide
	for a description of the tape drives
available on your system.
Not sure what is causing this.
 
Old 03-07-2017, 06:02 AM   #2
vincix
Senior Member
 
Registered: Feb 2011
Distribution: Ubuntu, Centos
Posts: 1,240

Original Poster
Rep: Reputation: 103Reputation: 103
Yes, the problem was actually the indentation made in the script file. After deleting all of spaces before N, s and / in the script file, it worked. I thought sed was supposed to ignore that.

Last edited by vincix; 03-07-2017 at 06:05 AM.
 
Old 03-07-2017, 06:13 AM   #3
syg00
LQ Veteran
 
Registered: Aug 2003
Location: Australia
Distribution: Lots ...
Posts: 21,139

Rep: Reputation: 4122Reputation: 4122Reputation: 4122Reputation: 4122Reputation: 4122Reputation: 4122Reputation: 4122Reputation: 4122Reputation: 4122Reputation: 4122Reputation: 4122
Why would you think that ?. You supplied the continuation after all ...
 
Old 03-07-2017, 06:40 AM   #4
vincix
Senior Member
 
Registered: Feb 2011
Distribution: Ubuntu, Centos
Posts: 1,240

Original Poster
Rep: Reputation: 103Reputation: 103
What do you mean by "you supplied the continuation"?

I thought so because some guy on a lynda course about SED said so. He pointed out that you can indent as much as you want in the script file to make the text more readable and sed will ignore the leading spaces. And of course, in the examples that he provided, including the use of Next, it worked just fine.

Last edited by vincix; 03-07-2017 at 06:44 AM.
 
Old 03-07-2017, 06:48 AM   #5
pan64
LQ Addict
 
Registered: Mar 2012
Location: Hungary
Distribution: debian/ubuntu/suse ...
Posts: 21,927

Rep: Reputation: 7320Reputation: 7320Reputation: 7320Reputation: 7320Reputation: 7320Reputation: 7320Reputation: 7320Reputation: 7320Reputation: 7320Reputation: 7320Reputation: 7320
the s command (of sed) uses 3 delimiters (that is by default /):
Code:
s/substitute/replacement             /modifiers
everything between the 2nd and 3rd occurrence is the replacement string, including spaces, tabs. Those cannot be ignored.

Last edited by pan64; 03-07-2017 at 06:55 AM. Reason: include code tags
 
Old 03-07-2017, 06:52 AM   #6
vincix
Senior Member
 
Registered: Feb 2011
Distribution: Ubuntu, Centos
Posts: 1,240

Original Poster
Rep: Reputation: 103Reputation: 103
Now I understand exactly where the problem was. It was the newline, obviously, and that example wasn't in the lynda course. The rest of the lines can be indented, but the \ line cannot be indented unless I want to add some spaces or whatever else after the newline. So that's exactly where the problem was.

Thanks
 
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
create file list: SED inline vs SED standalone, enormous speed difference Corsari Linux - Newbie 4 09-02-2013 03:01 AM
[SOLVED] sed 's/Tb05.5K5.100/Tb229/' alone but doesn't work in sed file w/ other expressions Radha.jg Programming 6 03-03-2011 07:59 AM
sed - testing multiline search and replace webhope Programming 11 05-13-2010 02:21 PM
Replace 'etch' with 'testing' in /etc/apt/sources.list to track 'testing' branch? Akhran Debian 3 04-09-2007 10:45 AM
Setup as getting debian testing files from ftp - will it stay with testing BrianHenderson Debian 2 09-02-2004 06:06 PM

LinuxQuestions.org > Forums > Linux Forums > Linux - Newbie

All times are GMT -5. The time now is 04:08 PM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration