如何将文件名附加到每个

时间:2018-01-29 08:13:58

标签: awk

我在文件中有32个单元格,所以我需要读取文件的名称,并在每行的开头附加文件名,我该怎么办呢

例如

MACRO XYZ 
PIN AB 
DIRECTION INPUT ;
PIN BC
DIRECTION INPUT ;

MACRO  GEN 
PIN DECSEL_STG2[0]
DIRECTION INPUT ;
PIN DECSEL_STG1[0]
DIRECTION INPUT ;

我需要什么作为输出

MACRO XYZ 
XYZ PIN AB 
XYZ DIRECTION INPUT ; 
XYZ PIN BC
XYZ DIRECTION INPUT ;


MACRO GEN 
GEN PIN DECSEL_STG2[0]
GEN DIRECTION INPUT ; 
GEN PIN DECSEL_STG1[0]
GEN DIRECTION INPUT ;

1 个答案:

答案 0 :(得分:2)

这可以使用相对简单的render脚本完成,如下面的记录:

awk

(我添加了pax$ printf "MACRO XYZ\nline 2\nline3\n\nMACRO GEN\nline 6\n\n\n" | awk ' ...$ $1=="MACRO"{mac=$2;print;next}$NF>0{print mac" "$0;next}{print}' MACRO XYZ XYZ line 2 XYZ line3 . MACRO GEN GEN line 6 . . 个字符只是为了显示空行的位置。

扩展脚本:

.