【发布时间】:2015-06-04 17:56:26
【问题描述】:
您好,我正在尝试转换此源文件:
来源--------
[ODBC Data Sources]
C334_DEV_MD=Micro ODBC Driver for SQL Server Wire Protocol
C334_PRD_ST=Micro ODBC Driver for SQL Server Wire Protocol
[ODBC]
Trace=0
TraceFile=odbctrace.out
TraceDll=/home/mstr/Micro/install/lib32/MYtrcXX.so
InstallDir=/home/mstr/Micro/install
IANAAppCodePage=106
UseCursorLib=0
[C334_DEV_MD]
HostName=C334WM01NA02
PortNumber=1433
Database=C334_DEV_MD
DoubleToStringPrecision=17
[C334_PRD_ST]
HostName=C334WM01NA02
PortNumber=1433
Database=C334_PRD_ST
DoubleToStringPrecision=17
来源---------
用脚本进入这个文件。
目的地--------
C334_DEV_MD=Driver description|HostName=C334WM01NA02;PortNumber=1433;Database=C334_DEV_MD;DoubleToStringPrecision=17|na01liwp01c334
C334_PRD_ST=Driver description|HostName=C334WM01NA02;PortNumber=1433;Database=C334_PRD_ST;DoubleToStringPrecision=17|na01liwp01c334
目的地------
ODBC 条目在这里并不重要。
这是输出应该遵循的模式。
DSN_entry=Driver Description|Parameter1=value;Parameter2=value;Parameter3=value|Server_Name
服务器名可以取自源文件的文件名。
这是我到目前为止所做的,但我被卡住了。
#!/bin/bash
flag=0
sourcefile=$1
destfile=$2
sed -n '2,/^$/p' $sourcefile | awk -F"=" '{print$1}' | sed '$d' | \
while read line; do
#echo $line
grep -E ''"^${line}"'|'"^\[${line}"'' $sourcefile
done
【问题讨论】: