ある行でパターンを見つけ、別の行でパターンを置き換える

ある行でパターンを見つけ、別の行でパターンを置き換える

次のように、ローカルソフトリンクパスを持つファイルがあります。

./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では、最初の行セットの後にテキストをインポートしてから、synopsys2番目の行セットの後にテキストを追加したいと思います。上記の代替/追加はどのように実行できますか?

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がで終わり、.dblocal.txtのすべてのパスが次のとおりであると仮定します。original.txt

おすすめ記事