查找 1 行中的模式并替换另一行中的模式

查找 1 行中的模式并替换另一行中的模式

我有一些文件的本地软链接路径如下。

./tech/finegrain/DUALDFTIO/synopsys/DUALDFTIO.TSMC7N.db
./tech/finegrain/ESD18V/synopsys/ESD18V.TSMC7N.db

我得到了目录的原始路径,但没有文件路径。在这种情况下,直到概要如下。

/proj/br_ccd_lib/macro/DUALDFTIO/0/synopsys

/proj/br_ccd_lib/macro/ESD18V/0/synopsys

现在我想获取synopsys第一组行之后的文本,然后synopsys在第二组行之后附加文本如何执行上述替换/附加?

O/p 应如下所示。

/proj/br_ccd_lib/macro/DUALDFTIO/0/synopsys/DUALDFTIO.TSMC7N.db
/proj/br_ccd_lib/macro/ESD18V/0/synopsys/ESD18V.TSMC7N.db

答案1

您可以将本地软链接路径放入名为的文件中local.txt,并将原始路径放入名为的文件中original,然后运行以下命令:

paste original.txt local.txt | sed 's/synopsys.*synopsys/synopsys/' | sed 's/.db/.ssg.rev1d0u2p2.072v.0c.TSMC7N_1P13M1X1XA1YA5Y2YY2Z1ALRDL.db/'

/proj/br_ccd_lib/macro/DUALDFTIO/0/synopsys/DUALDFTIO.TSMC7N.ssg.rev1d0u2p2.072v.0c.TSMC7N_1P13M1X1XA1YA5Y2YY2Z1ALRDL.db
    /proj/br_ccd_lib/macro/ESD18V/0/synopsys/ESD18V.TSMC7N.ssg.rev1d0u2p2.072v.0c.TSMC7N_1P13M1X1XA1YA5Y2YY2Z1ALRDL.db

该解决方案假设文件中的所有路径都local.txt以 结尾.db,并且 local.txt 中的所有路径都相当于original.txt

相关内容