2013-01-18 200 views
-3

我有内容的文件,例如:AWK需要帮助

物品1 ITEM2 < ---可以是1或更多,最多可能10+

日期1

date2的

item2 item3 item4 < - 1或更多

date3

date4

而这个数据需要被格式化成:

物品1日期1日期2

ITEM2日期1日期2

ITEM2 DATE3 date4

项目3 DATE3 date4

ITEM4 DATE3 date4

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

+0

您应该编辑您的问题,并告诉我们你已经尝试过的代码。 –

+0

想到这@Catcall,但事情是我一直在尝试超过一天,不能拿出任何东西......尝试关联数组,但只是不适用于这个问题... – NoobieGuy

+0

当你不喜欢不会发布代码,它看起来不像你想要的代码帮助。看起来你想要别人为你做你的工作。这里最好的人一般不会为你做你的工作。 –

回答

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 
+0

谢谢@ user19340357!让我试着将它融入我的小脚本中。 :) – NoobieGuy

+0

它的工作很棒!谢谢@ user19340357! – NoobieGuy