用shell批量更改库文件名,软链接成.so结尾

rzrk:~/luzhi # ldconfig
ldconfig: /usr/local/lib/libsvn_fs_base-1.so.0 is not a symbolic link
ldconfig: /usr/local/lib/libcharset.so.1 is not a symbolic link
ldconfig: /usr/local/lib/libpcrecpp.so.0 is not a symbolic link
ldconfig: /usr/local/lib/libzookeeper_mt.so.2 is not a symbolic link
ldconfig: /usr/local/lib/libzookeeper_st.so.2 is not a symbolic link
ldconfig: /usr/local/lib/libluajit-5.1.so.2 is not a symbolic link
ldconfig: /usr/local/lib/libsqlite3.so.0 is not a symbolic link
ldconfig: /usr/local/lib/libpcreposix.so.0 is not a symbolic link
ldconfig: /usr/local/lib/libprotobuf.so.8 is not a symbolic link
ldconfig: /usr/local/lib/libiconv.so.2 is not a symbolic link
ldconfig: /usr/local/lib/libpcre.so.1 is not a symbolic link
ldconfig: /usr/local/lib/libexpat.so.1 is not a symbolic link
ldconfig: /usr/local/lib/libbsoncpp.so.0 is not a symbolic link
ldconfig: /usr/local/lib/liblog4cxx.so.10 is not a symbolic link
ldconfig: /usr/local/lib/libprotobuf-lite.so.8 is not a symbolic link
ldconfig: /usr/local/lib/librabbitmq.so.1 is not a symbolic link
ldconfig: /home/rzrk/server/lib/libaprutil-1.so.0 is not a symbolic link
ldconfig: /home/rzrk/server/lib/libapr-1.so.0 is not a symbolic link

当我们使用ldconfig命令出现这种情况的时候,说明是库文件命名有问题,所以我们要做一个软件链接。

   #!/bin/bash
   ld_path=/root/ld.txt
   ldconfig &> $ld_path
   sed -i ‘/^ *$/d‘ $ld_path
   if test `wc -l $ld_path | awk ‘{print $1}‘` -eq 0
   then
   echo “allisok...”
   else
   cat $ld_path | awk ‘{ print$2 }‘ | while read line
   do
   n1=`echo  $line | awk -F ‘.‘ ‘{ print$1 }‘`
   n2=`echo $line | awk -F ‘.‘ ‘{print$2}‘`
   n3=`echo $line | awk -F ‘.‘ ‘{print$3}‘`
   ln -sv $line  "$n1.$n3.$n2"
   done
   fi
   ldconfig
rzrk:~/luzhi #chmod +x 1.sh
rzrk:~/luzhi # ./1.sh
`/usr/local/lib/libsvn_fs_base-1.0.so‘ -> `/usr/local/lib/libsvn_fs_base-1.so.0‘
`/usr/local/lib/libcharset.1.so‘ -> `/usr/local/lib/libcharset.so.1‘
`/usr/local/lib/libpcrecpp.0.so‘ -> `/usr/local/lib/libpcrecpp.so.0‘
`/usr/local/lib/libzookeeper_mt.2.so‘ -> `/usr/local/lib/libzookeeper_mt.so.2‘
`/usr/local/lib/libzookeeper_st.2.so‘ -> `/usr/local/lib/libzookeeper_st.so.2‘
`/usr/local/lib/libluajit-5.so.1‘ -> `/usr/local/lib/libluajit-5.1.so.2‘
`/usr/local/lib/libsqlite3.0.so‘ -> `/usr/local/lib/libsqlite3.so.0‘
`/usr/local/lib/libpcreposix.0.so‘ -> `/usr/local/lib/libpcreposix.so.0‘
`/usr/local/lib/libprotobuf.8.so‘ -> `/usr/local/lib/libprotobuf.so.8‘
`/usr/local/lib/libiconv.2.so‘ -> `/usr/local/lib/libiconv.so.2‘
`/usr/local/lib/libpcre.1.so‘ -> `/usr/local/lib/libpcre.so.1‘
`/usr/local/lib/libexpat.1.so‘ -> `/usr/local/lib/libexpat.so.1‘
`/usr/local/lib/libbsoncpp.0.so‘ -> `/usr/local/lib/libbsoncpp.so.0‘
`/usr/local/lib/liblog4cxx.10.so‘ -> `/usr/local/lib/liblog4cxx.so.10‘
`/usr/local/lib/libprotobuf-lite.8.so‘ -> `/usr/local/lib/libprotobuf-lite.so.8‘
`/usr/local/lib/librabbitmq.1.so‘ -> `/usr/local/lib/librabbitmq.so.1‘
`/home/rzrk/server/lib/libaprutil-1.0.so‘ -> `/home/rzrk/server/lib/libaprutil-1.so.0‘
`/home/rzrk/server/lib/libapr-1.0.so‘ -> `/home/rzrk/server/lib/libapr-1.so.0‘
时间: 2024-12-11 04:03:32

用shell批量更改库文件名,软链接成.so结尾的相关文章

shell 批量更改文件或目录名

批量更改文件名: 1.在多个文件后面添加.bak或者其他有规律的字符 ls  |xargs -n1 -i{} mv {} {}.bak 或者 find ./*.txt -exec mv {} {}_bak \; 2.通用的批量更改脚本 #!/bin/bash read -p "old extension:" oldext read -p "new extension:" newext read -p "The directory:" dir cd

用Objective-C写了一个简单的批量更改文件名的程序

前言:因为本人要高仿一个app,从app中解压asserts得到的所有图片文件,文件名都带有~iPhone这个干扰的名字,为了去除这个~iPhone这个字符串,所以本人写了个简答的批量更改所有文件名的程序. 程序员就是应该会利用程序来帮自己偷懒,因为用到的很多方法不是很熟悉,也是花了点时间去熟悉NSFileManager的一些方法,所以写下这个笔记做个笔记,省的下次又需要就忘记了方法. 我的基本需求,在啰嗦一下下哈: 一个文件目录下有上百个图片文件,文件名都带有~iPhone.写一个程序,删除所

批量更改某个文件夹下的文件名

package demo2; import java.io.File; /* * 批量更改某个文件夹下的文件名 1.去掉某些标志 c:/小说 1.封装file对象 2.得到这个file对象下所有的子文件的file数组 3.遍历数组,改名 */ public class FileRenameDemo { public static void main(String[] args) { File folder = new File("c:/小说"); File[] arr = folder

shell 批量重命名

shell 批量重命名 1.把文件名的第一字母批量改成a 方法一: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 [[email protected] test]# ll total 0 -rw-r--r-- 1 root root 0 Apr 14 15:02 8801.txt -rw-r--r-- 1 root root 0 Apr 14 15:02 8802.txt -rw-r--r-- 1 root root 0

Mac / Linux Shell 批量重命名的方法总览

Linux Shell 批量重命名的方法总览 0.用类似 GPRename 这样的图形软件进行批量重命名 1.删除所有的 .bak 后缀: rename 's/\.bak$//' *.bak 2.把 .jpe 文件后缀修改为 .jpg: rename 's/\.jpe$/\.jpg/' *.jpe 3.把所有文件的文件名改为小写: rename 'y/A-Z/a-z/' * 4.将 abcd.jpg 重命名为 abcd_efg.jpg: for var in *.jpg; do mv "$var

Python脚本--批量更改本地md文件的图片链接

#-*- coding:utf-8 -*- import re import os def patch_md(filename): if filename.endswith('.md'): return True return False def _patch_replace(text): pattern=re.compile(r'(?<=!)\[.*\]\((.*)(?=\))') result = re.findall(pattern,text)for filedir in result:

redis批量灌库

需求:将批量数据灌入redis中 如果通过代码形式将数据灌入redis中,效率比较低,以下将根据redis的特性进行快速的批量灌库 环境:centos7 将数据整理成规定格式的文件,比如: SET key value SET key value 安装格式转换工具 # yum install unix2dos 使用工具转换文件格式 # unix2dos cf_reclist.redis 使用命令灌库 # cat cf_reclist.redis | /usr/local/src/tools/red

利用 Python 进行批量更改文件后缀

利用 Python 进行批量更改文件后缀 代码 import os files = os.listdir('.') for file_name in files: portion = os.path.splitext(file_name) if portion[1] == ".jpg": new_name = portion[0] + ".gif" os.rename(file_name, new_name) 以上代码为将后缀为 "jpg" 的文

ubuntu下,批量更改文件后缀

ubuntu下,批量更改文件后缀: eg:把当前目录下以tpl为后缀的文件全部rename为html a.tpl  b.tpl  c.tpl 执行命令:   rename 's/\.tpl/.html/' *.tpl a.html  b.html  c.html