2012-11-04 23 views
5

VonSkript für in bash

Präfix von Dateinamen zu ändern
abcd_if_vb.c 
abcd_if_av.c 

zu

edfg_if_vb.c 
edfg_if_av.c 

Das Problem ist, zu fangen, welche Datei abcd Präfix hat.

Antwort

9

Nicht wirklich.

for file in abcd* 
do 
    mv "$file" "edfg${file#abcd}" 
done 
+0

es funktioniert umbenennen! Vielen Dank! –

+1

mv "$ file" "$ {file/# abcd/edfg}" - viel eleganter, imho! – b3h3m0th

5

Wenn Sie rename haben, können Sie diese Dateien mit

rename abcd_ edfg_ abcd* 
+0

Seien Sie vorsichtig, da die Verwendung von 'rename' systemabhängig ist und Sie auch mit regulären Ausdrücken arbeiten. Achten Sie darauf, zuerst "man umbenennen" zu aktivieren. Aber "Umbenennen" ist im Allgemeinen ein guter Ansatz für diese Situationen. – Bernhard

0
ls -1 abcd*|awk '{f=$0;gsub(f,"abcd","efgh");system("mv "$0" "f);}'