2013-09-30 68 views
2
Fedora 18 
3.10.12-100.fc18.x86_64 

你好,重命名的所有文件在Linux與一個去

我有很多文件,如下面的人。我想通過刪除-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 

非常感謝您的任何建議,

+2

你是不是調用'rename'正確數量參數的個數。你爲什麼不重命名? –

回答

2
for i in *.a 
do 
    mv $i ${i/-unknown-linux-gnu/} 
done 
3

使用mmv

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

的第一個參數的*與在mmv第二個參數的#1召回所以它很容易像你想用它建立的東西。

4

使用rename

rename "-unknown-linux-gnu" "" *-unknown-linux-gnu* 
相關問題