我有两个文件。第一个文件具有不变的详细信息(例如参考文件)。另一个文件中包含动态数据。它具有使用Shell脚本与第一个文件密钥关联的值。
File1.txt
CIN|Template|Date
File2.txt
1234|QWERTY|2019-03-18
5678|ASDF|2019-03-18
9012|ZXCVB|
我想要输出文件Output.txt
,例如:
{CIN: 1234
Template: QWERTY
Date: 2019-03-18}
{CIN: 5678
Template: ASDF
Date: 2019-03-18}
{CIN: 9012
Template: ZXCV
Date: }
答案 0 :(得分:0)
使用awk:
$ awk -F\| ' # set field separator
NR==FNR { # process first file
split($0,a) # split on field separator and hash to a
next
}
{ # second file
for(i=1;i<=NF;i++) # iterate all fields and output refering titles from a
printf "%s%s: %s%s\n",(i==1?"{":""),a[i],$i,(i==NF?"}":"")
}' file2 file2
输出:
{CIN: 1234
Template: QWERTY
Date: 2019-03-18}
{CIN: 5678
Template: ASDF
Date: 2019-03-18}
{CIN: 9012
Template: ZXCVB
Date: }
答案 1 :(得分:0)
尝试一下:
#!/bin/bash
FILE1=File1.txt
FILE2=File2.txt
IFS="|"
read -a Header < $FILE1
ColumnsCount=${#Header[@]}
while read line; do
read -a Values <<< $line
echo -n "{"
for ((i=0; i < $ColumnsCount; i++)); do
echo -n "${Header[$i]}: ${Values[$i]}"
if [[ $i -lt $((ColumnsCount - 1)) ]]; then
echo
fi
done
echo "}"
done < $FILE2
答案 2 :(得分:0)
这是我的解决方法
<script type="text/javascript" src="../ClientGlobalContext.js.aspx"></script>