I have a problem with making sed command, which gonna change lines, where =sometext= occurs and change it to another pattern, but will not do it when https occcurs in that line. I have no idea how I should change this command:sed -i 's/=\([^=]*\)=/{{\1}}/g'
            Asked
            
        
        
            Active
            
        
            Viewed 1,150 times
        
    -1
            
            
        
        Mark
        
- 43
 - 7
 
- 
                    similar question with answers: https://stackoverflow.com/questions/9053100/sed-regex-and-substring-negation – sborsky Mar 07 '19 at 15:47
 - 
                    Maybe something like `awk '!/https/ && /=sometext=/{gensub(/=([^=]*)=/, "\1", $0)}1' file` with gawk. Can't test now though. – Wiktor Stribiżew Mar 07 '19 at 15:51
 
2 Answers
1
            You'll want to read the sed manual about matching lines: https://www.gnu.org/software/sed/manual/sed.html chapter 4:
The following command replaces the word ‘hello’ with ‘world’ only in lines not containing the word ‘apple’:
sed '/apple/!s/hello/world/' input.txt > output.txt
        Community
        
- 1
 - 1
 
        glenn jackman
        
- 238,783
 - 38
 - 220
 - 352