2017-10-29 8 views
0

私は、これは名前は、ファイル名に単語の前に数字を削除する方法

をファイル持っ

DBO-101ar_thumb657.jpgドア-27ar_thumb641.jpg ishq-283ar_thumb639.jpg KSM-365ar_thumb599.jpg pkyek-302_thumb604.jpg pun-私は何をしようとしている68ar_thumb694.jpg

ので、この

DBO-101ar_thumb.jpgドア27ar_thumb.jpgのishq-283ar_thumb.jpgようにする必要があり、親指

後に数字を削除していますksm-365ar_thu mb.jpg pkyek-302_thumb.jpg pun-68ar_thumb.jpg

centos 7で使用するコマンドは何ですか?

+0

をあなたはそれをグーグル、これまでのところ、現在その上の任意の研究を何をしようとしているとして戻ってきます努力しているもの –

答えて

0

あなたはこの試みることができる:カレントディレクトリのすべてのファイルを読み込み、後でsed 's#[0-9]*\.#\.#g'を使用して、それが「で終わる数字に置き換えられます場合

dbo-101ar_thumb.jpg 
door-27ar_thumb.jpg 
ishq-283ar_thumb.jpg 
ksm-365ar_thumb.jpg 
pkyek-302_thumb.jpg 
pun-68ar_thumb.jpg 

for f in *; do 
echo $f | sed 's#[0-9]*\.#\.#g' 
done 

ウィル出力を。 "とともに "。"

また、このようなあなたの入力、何かをプレフィルタするために見つける使用することができます

find . -iname "*thumb*.jpg" -exec sh -c "echo {} | sed 's#[0-9]*\.#\.#g'" \; 

これは、先に説明したように番号を交換するsedを使用し、後でこのパターン*thumb*.jpgで任意のファイルにマッチしてます。

あなたが好きなものを使用でき、ファイルcpまたはmvしたい場合:

find . -iname "*thumb*.jpg" -exec sh -c 'x=`echo {} | sed "s#[0-9]*\.#\.#g"`; mv {} $x' \; 
+0

[root @ s1 test]#find。 -iname "* thumb * .jpg" -exec sh -c "echo {} | sedの#[0-9] * \。#\。#g '" \; ./dbo-101ar_thumb.jpg ./ksm-365ar_thumb.jpg ./pun-68ar_thumb.jpg ./door-27ar_thumb.jpg ./pkyek-302_thumb.jpg ./ishq-283ar_thumb.jpg [ root @ s1 test]#ls dbo-101ar_thumb657.jpg door-27ar_thumb641.jpg ishq-283ar_thumb639.jpg ksm-365ar_thumb599.jpg pkyek-302_thumb604.jpg pun-68ar_thumb694.jpg [root @ s1 test]# –

+0

印刷中ですあなたが(数字なしで)尋ねたようなファイルは、ファイルの名前を正しく変更したいようですか? – nbari

0

0以上の数字が続くthumb探しをしてthumbと交換してください。

sed 's/thumb[0-9]*/thumb/g' 

それともあなただけは、少なくとも1桁(この場合は同じ結果)がある場合置き換える:

sed 's/thumb[0-9]\+/thumb/g' 
+0

はうまくいかなかった:( –

関連する問題