.txt
ファイルの束を含むディレクトリがあり、これらのファイルの名前を1つのコマンドで変更するコマンドが必要なので、名前はfile1.txt , file2.txt, file3.txt , etc .
になります。
ヘルプがありますか?
ターミナルでこれを使用して、必要に応じてファイルの名前を変更できます。
j=1;for i in *.txt; do mv "$i" file"$j".txt; let j=j+1;done
それは仕事をします。
説明:
j
を設定し、最初に1に設定します*.txt
を使用して、すべてのtxt
ファイルを取得します。mv
を使用して名前を変更し、カウンタを1増やします。通常はデフォルトのインストールに含まれているrenameコマンドを使用できます。
c=0 rename 's/.*/sprintf("file%05d.txt", ++$ENV{c})/e' *
最初にテストを行う場合は、-nフラグを使用します。
c=0 rename -n 's/.*/sprintf("file%05d.txt", ++$ENV{c})/e' *
これが機能する方法は、引数ごとにPerl s///
式を実行し、元の文字列から置換された文字列に名前を変更します。置換文字列では、sprintf
を使用して名前をフォーマットします。ここで、環境変数c
を1からのカウンターとして使用します。
ほとんどの場合、各番号の先頭に「0」が必要な場合もあります。%05d
はトリックを行います。5は桁数です。
次のコマンドも、ファイルの名前を段階的に変更します。
cd (directory containing files )
次に、このスクリプトを実行します。
count=1
for i in *; do
mv "${i}" file${count}.`echo "${i}" | awk -F. '{print $2}'`
((++count))
done