Linux – Schreiben Sie ein Skript, um die Konfigurationsinformationen in der Datei zu ändern, Ausführungsfehler
欧阳克
欧阳克 2017-07-04 13:45:27
0
1
799

Es gibt hauptsächlich drei Dateien test.cnf test.sh test.txt
Führen Sie test.sh aus, um die Konfiguration von test.cnf zu lesen und den Inhalt von test.txt zu ändern. Während der Ausführung wurde die Konfiguration erfolgreich gelesen, aber nicht gefunden als sed hingerichtet wurde.
sed hier dient nur zum Debuggen, ohne test.txt zu ändern, es zeigt nur die Ergebnisse von test.txt an

[root@localhost /tmp]# head -100 test*
==> test.cnf <==
yy=123
ppp=456

==> test.sh <==
function myconf(){

source test.cnf
awk -F'=' '{print }' test.cnf|while read myline;do sed s/{{$myline}}/${$myline}/g test.txt;done
}
myconf

==> test.txt <==
uuu={{yy}}
ooo={{ppp}}

Ausführungsfehler werden während des Debuggens angezeigt;

[root@localhost /tmp]# bash -x test.sh
+ myconf
+ source test.cnf
++ yy=123
++ ppp=456
+ read myline
+ awk -F= '{print }' test.cnf
test.sh: line 4: s/{{$myline}}/${$myline}/g: bad substitution
欧阳克
欧阳克

温故而知新,可以为师矣。 博客:www.ouyangke.com

Antworte allen(1)
淡淡烟草味
 while read a b;do sed -n "s/$a/$b/p" test.txt;done < <(awk -F= '{print $1,$2}' test.cnf)

其它方法:

awk -F= -vOFS='=' 'NR==FNR{a[$1]=$2;next}{for(i in a)if($2 ~ i)sub(i,a[i],$2)}1' test.cnf test.txt
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage