私はtschを使用して、指定されたフォルダ内のライブラリのリンクを更新するスクリプトを作成しています。ライブラリの最新バージョンを見つけ、lib名だけを取り除く
私は、(例えば)を使用して、私に
libelf.so.1 -> libelf-0.158.so
libelf.so.0 -> libelf.so.0.8.13
libelf.so.1 -> libelf-0.158.so
を与えますが、私はちょうどlibelf-0.158.so部分を除去する方法がわからない
ldconfig -v | grep libelf
をライブラリの最新バージョンを入手することができます結果の私は
set lib = `ldconfig -v | grep libelf | awk '$1 == "-> " {gsub(/\/.*$/, "", $2); print $2}'`
AKW使用しようとしましたが、私にはないので、私はまた、指定したフォルダ内のすべてのライブラリリンクを検索しまうループにこれを挿入したい任意の結果
を取得できませんでしたあらかじめ、知っている、フォルダがあり、私は
if (-f libelf.so.1) ln -fs /usr/lib64/libelf-0.158.so libelf.so.1
if (-f libreadline.so.1) ln -fs /lib64/libreadline.so.6.3 libreadline.so.1
if (-f libXv.so.1) ln -fs /usr/lib64/libXv.so.1.0.0 libXv.so.1
awk '$ 2 == " - >" {print $ 3} "? – archemiro
'私はtschを使用していますが、私はスクリプトを作成しようとしています.' - しないでください! [Google「csh not why」](https://www.google.com/search?q=csh+why+not&ie=utf-8&oe=utf-8) 'libelf.so.1 - > libelf-0.158.soのような入力行に'/'がない場合、' gsub(/\/.*$/、 "、$ 2)'で何をしようとしていますか? '?すべての入力行にawkスクリプトが ' - >'をテストしているのはなぜですか? –