将变量添加到行首,不使用 sed

将变量添加到行首,不使用 sed

我有一个文本文件,我想在行的开头添加一个字符串,但是,它有特殊字符,sed 对此有所抱怨。

我收到的警告是:

sed: 1: "s/^/curl curliian.bxss ...": bad flag in substitute command: 'b'

所以我试图逃避这个点:

dirnamer="$(dirname $1 | sed 's/\./\\./g')"

这不起作用,所以我试图逃避b,这也不起作用。是的,这就是我现在所做的:

sed -i '' "s/^/curl $dirnamer/g" ~/desktop/download

但由于特殊字符的原因,sed 似乎存在很多问题。有什么更好的方法呢?

答案1

这个 awk 命令工作正常。

awk '{print "curl $dirnamer|" $0;}'

或者之前对变量执行此操作:

sed 's/\/b/\\b/g' | sed 's/\/t/\\t/g'

相关内容