当我看到以/feed/
结尾并以http://a.b.c
echo "http://a.b.c/blabla/feed/" | sed -e 's#\(http://a.b.c/.*/feed/\)#\1index.xml#g'
使用我编写的命令行,并使用此
#!/bin/bash
sed -i 's#\("http://a.b.c/.*/feed/"\)#"\1index.xml"#g' $1
我不知道如何转换此代码,以便它在脚本中使用-i和文件作为参数。
我尝试了以下内容,但只有当搜索到的字符串单独在一行上时才有效,而我需要在其他文本之间转换字符串。什么是正确的代码?
sample_r2= function(n = 12, min_dist = 5, seed = 42)
{
available_days = seq(365)
res = sort(sample(available_days, n))
y = diff(res)
res = res[y >= min_dist]
while (length(res) < n)
{
forbidden_days = sapply(res, function(x){ x + -(min_dist-1):(min_dist-1) } )
available_days = setdiff(available_days, forbidden_days)
days = sample(available_days, n - length(res))
res = sort(c(res, days))
y = diff(res)
res = res[y >= min_dist]
}
return(res)
}
答案 0 :(得分:1)
我认为
#!/bin/bash
sed -i 's#\(http://a.b.c/.*/feed/\)#\1index.xml#g' "$1"
应该有效。我只在命令中删除了错误的双引号,并在$1
周围添加了缺少的双引号。
如果像http://aXbXc/
这样的输入不应该触发替换,那么你也应该逃避这些点。