-3

我有一个文件,其内容如下:

item1 item2 <--- 可以是 1 或更多,最多可能是 10+

日期1

日期2

item2 item3 item4 <-- 1 个或更多

日期3

日期4

.

.

.

并且这些数据需要格式化为:

项目 1 日期 1 日期 2

项目 2 日期 1 日期 2

项目 2 日期 3 日期 4

项目 3 日期 3 日期 4

项目 4 日期 3 日期 4

.

.

.

我真的是awk的新手,所以我想我可以在这里问。这是我在 stackoverflow 中的第一个问题,所以请让我知道我应该提供哪些其他类型的信息?提前致谢!!!

4

1 回答 1

0

尝试这个

   #awk -f myawk.sh temp.txt
   BEGIN { print "Start"}
   /item/ {for(i=1; i<=b; i++){ print a[i]"----"d }}
   /item/ {for(i=1; i<=NF; i++){ a[i] = $i; b=i;d=""}}
   /date/ {d = d" "$0;}
   END {for(i=1; i<=b; i++){ print a[i]"----"d } print "Process Complete"}

输出

Start
item1---- date1 date2
item2---- date1 date2
item2---- date3 date4
item3---- date3 date4
item4---- date3 date4
End
于 2013-01-18T06:14:45.640 回答