2
Fedora 18
3.10.12-100.fc18.x86_64

你好,

我有很多文件,如下所示。我想通过删除 -unknown-linux-gnu 部分来重命名它们。所以libpjsip-x86_64-unknown-linux-gnu.alibpjsip-x86_64.a

我尝试执行以下操作但失败了,替换为空白:

rename 's/-unknown-linux-gnu//' *.a

它失败并显示一条消息rename: not enough arguments

libg7221codec-x86_64-unknown-linux-gnu.a        
libpjsip-ua-x86_64-unknown-linux-gnu.a
libgsmcodec-x86_64-unknown-linux-gnu.a          
libpjsip-x86_64-unknown-linux-gnu.a
libilbccodec-x86_64-unknown-linux-gnu.a         
libpjsua-x86_64-unknown-linux-gnu.a
libmilenage-x86_64-unknown-linux-gnu.a 

非常感谢您的任何建议,

4

3 回答 3

4

使用rename

rename "-unknown-linux-gnu" "" *-unknown-linux-gnu*
于 2013-09-30T10:57:35.510 回答
3

利用mmv

$ mmv -v "*-unknown-linux-gnu*" "#1#2"
libpjsip-x86_64-unknown-linux-gnu.a -> libpjsip-x86_64.a : done

*一个参数中的第一个参数与#1第二个参数中的参数一起调用,mmv因此很容易用它构建你想要的东西。

于 2013-09-30T10:53:35.403 回答
2
for i in *.a
do
    mv $i ${i/-unknown-linux-gnu/}
done
于 2013-09-30T11:05:38.330 回答