8
#!/bin/bash

# Let's say now, we are working in my $HOME directory

# Content of testfile (originally)
# 123456
# ABCDEF
# /home/superman

string="ABCDEF"
myfile="$HOME/testfile"

# test-1, this is okay
sed -i "/$string/d" $myfile
echo $string >> $myfile

# test-2, this fails
# ERROR (sed: -e expression #1, char 4: extra characters after command)
sed -i "/$PWD/d" $myfile
echo $PWD >> $myfile

# Not working either
sed -i ":$PWD:d" $myfile
echo $PWD >> $myfile

My question: How to handle the $PWD situation?

Daniel
  • 2,576
  • 7
  • 37
  • 51

1 Answers1

8

To use the alternate delimiters for addresses, you need to use backslash - \

sed "\:$PWD:d" < $myfile

Should work.

Of course for this exact example, grep -v is probably easier.

evil otto
  • 10,348
  • 25
  • 38