0

4000 個のファイルがあり、すべてのファイル名の先頭に nrs 1 から 4000 を追加する必要があります。

例えば:

file_a.CEL
file_c.CEL
file_g.CEL
file_x.CEL
...
other_file.CEL

次のようになる必要があります。

1_file_a.CEL
2_file_c.CEL
3_file_g.CEL
4_file_x.CEL
...
4000_other_file.CEL

数字の後のアンダースコアも追加されることが重要です。ファイル名はすべてまったく異なります (ファイル名にシステムはありません)。また、番号付けの順序も重要ではありません。bash を使用してこれを行う簡単な方法はありますか? よろしくお願いします!

4

3 に答える 3

2

forループを使用するとmv、目的の効果が得られるはずです。これは特に興味深い解決策ではありませんが、単純です。

COUNT=1
for file in ./*; do
    mv "$file" "${COUNT}_$file"
    let COUNT++
done
于 2013-07-31T12:18:24.733 に答える
1

関連トピック:シェル スクリプトを使用して複数のファイルの名前を変更する

あなたの場合、次のようにすることができます:

n = 1
for file in *.CEL; do
   new_name=$n_$file
   n=$(($n+1))
   mv $file $new_name
done
于 2013-07-31T12:21:58.677 に答える
1
i=1
for f in *; do 
   echo Renaming file \"$f\" to \"${i}_${f}\"
   mv "$f" "${i}_${n}"
   i=$((i+1))
done
于 2013-07-31T12:17:44.403 に答える