我想交换列(或()中的变量)。如果一行以“FD1”开始,()中的变量需要向右移动。最右边的变量位于最左边。例如,FD1 DFF_0(CK,G5,G10);以及FD1 DFF_0(CK,G5,G10);例如,FD1 DFF_0(CK,G5,G10);以及FD1 DFF_0(CK1,G5,G10)。 - > FD1 DFF_0(G10,CK,G5);[SED/AWK]交换值
对于其他行,()中的变量需要向左移动。
myfile.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 /原来/新/ G' file.txt的,但我认为我的问题是一个有条件的转变。
任何帮助表示赞赏。
你刚才提到,从开始的行'FD1'应该改变,但在输出预计我所看到的所有行得到了改变?你能否确认一次? – RavinderSingh13