我正在尝试从文件1中提取数据并将此数据粘贴到另一个文件中。
文件1如下所示:
[order1]
Amount 4
HappyMeal yes;
Sex "m"
Name "Jack"
[order2]
Amount 1
HappyMeal yes;
Sex "f"
Name "Mary"
[order3]
Amount 3
HappyMeal no;
Sex "f"
Name "Mary"
每个客户的某些行(不是全部)应该粘贴到文件2中,如下所示:
Customer "Jack" yes m
Customer "Mary" yes f
Customer "Mary" no f
我玩弄了以下内容:
#!/bin/bash
ORDER_NR=`grep -o order[0-9]* file1`
for i in $ORDER_NR
do
CUST_NAME=`awk -v RS='' '/\y${ORDER_NR}\y/' file1`
echo "$CUST_NAME" >>file2
done
出于某种原因,我只得到一个空文件。
最终,我希望sed替换模板文件中的变量。
知道为什么我一直收到一个空文件?我认为它至少应该回应文件2中的CUST_NAME
变量。
答案 0 :(得分:0)
试试这行:
awk -v RS='\\[[^]]*\\]' 'NF{print "Customer",$8,$4,$6}' file
它给出了:
Customer "Jack" yes; "m"
Customer "Mary" yes; "f"
Customer "Mary" no; "f"
它与您的输出不完全相同。不过,这对你来说是个好点。做一些调整,你会得到你想要的。