Привет Я пытаюсь преобразовать этот исходный файл:Преобразование одного файла в другой
источник --------
[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
Он не производит никакого вывода для меня. Я сохранил ваш код в файле translate.awk и запустил awk -f translate.awk input.file. Нет выхода. – fuzzy186
Хм. Я проверил его с данными, указанными в вопросе. Можете ли вы разместить свои точные данные? (Используете ли вы Linux, что означает 'gawk'?) – hek2mgl
Это мои входные данные. – fuzzy186