我有一些文件驻留在 Linux 系统上,其中包含一些占位符,例如下面的文件:
测试.txt:
This is a line with <VARIABLE1>@<VARIABLE2>.
This is a line with <VARIABLE3>.
This is a line with <VARIABLE_UNKNOWN>.
This is another line contains a<b.
我想更改此文件,如下所示:
This is a test line with $VARIABLE1@$VARIABLE2.
This is a test line with $VARIABLE3.
This is a test line with $VARIABLE_UNKNOWN.
This is another line contains a<b.
请注意,所有这些以 结尾的变量<>
仅包含大写字母、数字和下划线。
我本可以使用以下方法,但a<b
变成了a$b
。
file_contents=$(<$file_path)
file_contents=${file_contents//</$}
file_contents=$(echo "$file_contents" | tr -d '>')
echo "$file_contents" > test.txt
我试图避免sed
使用变得非常难以调试的复杂命令。我怎样才能实现这个目标?