Vis*_*hnu 3 bash sed environment-variables
我有以下行要在脚本中执行,并删除它上面的两行。但是现在我的 $TEST 变量包含像“/DATA/test10”这样的值,而我的变量 ID 包含“10”。我如何将它与 sed 一起使用?
sed -i ":a;N;s/\n/&/2;Ta;/path = $TEST\/$ID/s/.*//;P;D" /collection.txt
Run Code Online (Sandbox Code Playgroud)
如果您只是想将字符串视为文字,sed
那么已经有答案了:
escaped_testx="$(sed -e 's/[\/&]/\\&/g' <<< "$TEST"; echo x)"
escaped_test="${escaped_testx%x}"
Run Code Online (Sandbox Code Playgroud)
额外的x
是能够处理尾随换行符,否则这些换行符将被命令替换删除。