分割で生成されたファイルの名前変更

分割で生成されたファイルの名前変更

split呼び出しの出力ファイルがあります。

shivi11aa
shivi11ab

(等)

既存のファイルの名前をどのように変更しますか?

output_1
output_2

(等)

1000個のファイルがある場合、最後のファイルはoutput_1000

答え1

n=0
for filename in shivi11*; do
    n=$(( n + 1 ))
    mv -i "$filename" "output_$n"
done

...ここで、shivi11*パターンは名前を変更するすべてのファイルと一致する必要があります(他のファイルは除く)。

データをバックアップしてテストしてください。


回答元の質問(編集前):

「分割」がユーティリティを意味する場合は、split次のようにユーティリティを呼び出して必要なものを得ることができます(これはGNUを仮定し、ファイルを20KBビットにsplit分割しようとしています)。file

split -b 20k -a 1 --numeric-suffixes=1 file output_

output_1などoutput_2が生成されます。

サフィックスの長さは単一文字に制限されているため、-a 19つ以上のファイルに分割することはできません。 egを使用すると、-a 2etcまでの名前のoutput_01ファイルが生成されますが、生成されません。output_02output_99output_100

この--numeric-suffixes=1オプションはGNUsplitにのみ適用され、指定された数字から始まる数字のサフィックスを選択します(を使用するのと同じように0から始まる代わりに-d)。通常、splitファイルは文字のサフィックスとして生成されます。

関連情報