0
subsititute文本我有以下脚本:awk中 - 在特定位置
script.sh:
#!/bin/bash
FileName=$1;
awk '
/Import()/
{
while (sub(/\$requestedMessage/, "bar") == 0)
{
print;
getline;
}
}
1' > file.tmp $FileName
与以下文件:
文件:
function FunctionA()
{
message=$requestedMessage
}
function FunctionB()
{
message=$requestedMessage
}
这个想法是致电
./script.sh file
,并在功能上FunctionB()
的message=$requestedMessage
变量替换到message=bar
但只有在FunctionB()
,而不是FunctionA()
我很新的AWK,我好像不明白我在做什么错。
感谢,
嗨那有效!但是,当我在“{”之前和“}”之前添加endlines时,为了试着理解你的代码,它会停止工作......你可以在你的回答中解释它的工作原理吗? – Kam
我们还可以在不使用RS和ORS的情况下执行此操作,因为它会使“文件”更加灵活 – Kam
您不能在'{'之前放置换行符,因为这会完全改变脚本的含义。空格在awk脚本中很重要。我在他们可以去的地方放了几条换行符。你可以在不设置RS和ORS的情况下写一个不同的脚本来做你想做的事情,但是我不明白你的意思是什么时候设置它们“会使解决方案”文件“依赖于” - 什么文件?为什么? –