sed替换文件中的url并重新保存

时间:2012-03-15 10:53:22

标签: regex sed terminal

一直试图看看几个小时。可以使用普通字符串,但不能使用斜杠。

尝试将/var/www/vhosts/sandbox.modernactivity.co.uk/替换为空。

sed 's%var%%' /Volumes/WEB_BACKUP/backups/ukfast/scripts/INCLUDE_list.txt

吐出//www/vhosts/sandbox.modernactivity.co.uk/restofurl/,原文是/var/www/vhosts/sandbox.modernactivity.co.uk/restofurl/。只是不能让它识别斜线。

它似乎也没有更新文件?

欢迎任何提示!

2 个答案:

答案 0 :(得分:2)

尝试:

find . -name "yourfile.txt" -print | xargs sed -i "" 's/\/var\/www\/.*\.co\.uk//g'

使用\来逃避'/'

如果您正在使用Mac,请使用-i ""

在Linux上只需写-i

答案 1 :(得分:1)

这就是你想要的吗?

sed 's#/var.*\.co\.uk/##' file

试验:

kent$  echo "foo/foo/var/www/vhosts/sandbox.modernactivity.co.uk/bar/bar"|sed 's#/var.*\.co\.uk/##'
foo/foobar/bar

如果要使用sed更改原始文件,请添加-i选项。像:

sed -i 's/foo/bar/' file