1

次のようなファイルのリストがあります。

10_I_am_here_001.jpg
20_I_am_here_003.jpg
30_I_am_here_008.jpg
40_I_am_here_004.jpg
50_I_am_here_009.jpg
60_I_am_here_002.jpg
70_I_am_here_005.jpg
80_I_am_here_006.jpg

ファイル名から削除できるように、ディレクトリ内のすべてのファイルの名前を変更するにはどうすればよい^[0-9]+_ですか?

ありがとうございました

4

4 に答える 4

1

上記のように .jpg で終わるファイルに基づく別の bash のアイデアを次に示します> VonBell

#!/bin/bash
ls *.jpg |\
while read FileName
do
    NewName="`echo $FileName | cut -f2- -d "_"`"
    mv $FileName $NewName
done
于 2013-10-31T00:00:58.193 に答える
1

使用rename:

rename 's/^[0-9]+_//' *
于 2013-10-30T17:28:53.007 に答える
1

純粋な BASH を使用する:

s='10_I_am_here_001.jpg'
echo "${s#[0-9]*_}"
I_am_here_001.jpg

次のように、そのディレクトリに単純な for ループを記述できます。

for s in *; do
    f="${s#[0-9]*_}" && mv "$s" "$f"
done
于 2013-10-30T17:26:53.997 に答える