【发布时间】:2017-11-11 00:46:03
【问题描述】:
我想交换列(或 ( ) 中的变量)。如果一行以“FD1”开头,()中的变量需要向右移动。最右边的变量到最左边。
例如,FD1 DFF_0(CK,G5,G10); --> FD1 DFF_0(G10,CK,G5);
对于其他行,() 中的变量需要向左移动。
我的文件.txt:
FD1 DFF_0(CK,G5,G10);
FD1 DFF_1(CK,G6,G11);
IV NOT_0(G14,G0);
IV NOT_1(G17,G11);
AN2 AND2_0(G8,G14,G6);
ND2 NAND2_0(G9,G16,G15);
NR2 NOR2_0(G10,G14,G11);
NR2 NOR2_1(G11,G5,G9);
Outfile.txt:
FD1 DFF_0(G10,CK,G5);
FD1 DFF_1(G11,CK,G6);
IV NOT_0(G0,G14);
IV NOT_1(G11,G17);
AN2 AND2_0(G14,G6,G8);
ND2 NAND2_0(G16,G15,G9);
NR2 NOR2_0(G14,G11,G10);
NR2 NOR2_1(G5,G9,G11);
我知道可以全局替换的 SED 基础知识,sed 's/original/new/g' file.txt,但我认为我的问题是条件转换。
感谢任何帮助。
【问题讨论】:
-
您提到应该更改从
FD1开始的行,但在预期输出中我看到所有行都已更改?请您确认一次。
标签: awk sed multiple-columns