簡體   English   中英

重命名以數值結尾的文本文件

[英]Renaming Text Files That End In Numerical Values

我有15個名為... cyclones_hrrr_( 1-16 )的文件,我需要將它們重命名為cyclones_hrrr_( 0-15 )。 我使用mv命令編寫了以下代碼並且它可以工作但是,我需要更有效的東西,也許是某種循環:

mv ${HOMEDIR}/hrrr/tmp/cyclones_hrrr_1 ${HOMEDIR}/hrrr/tmp/cyclones_hrrr_0
mv ${HOMEDIR}/hrrr/tmp/cyclones_hrrr_2 ${HOMEDIR}/hrrr/tmp/cyclones_hrrr_1
mv ${HOMEDIR}/hrrr/tmp/cyclones_hrrr_3 ${HOMEDIR}/hrrr/tmp/cyclones_hrrr_2
mv ${HOMEDIR}/hrrr/tmp/cyclones_hrrr_4 ${HOMEDIR}/hrrr/tmp/cyclones_hrrr_3
mv ${HOMEDIR}/hrrr/tmp/cyclones_hrrr_5 ${HOMEDIR}/hrrr/tmp/cyclones_hrrr_4
mv ${HOMEDIR}/hrrr/tmp/cyclones_hrrr_6 ${HOMEDIR}/hrrr/tmp/cyclones_hrrr_5
mv ${HOMEDIR}/hrrr/tmp/cyclones_hrrr_7 ${HOMEDIR}/hrrr/tmp/cyclones_hrrr_6
mv ${HOMEDIR}/hrrr/tmp/cyclones_hrrr_8 ${HOMEDIR}/hrrr/tmp/cyclones_hrrr_7
mv ${HOMEDIR}/hrrr/tmp/cyclones_hrrr_9 ${HOMEDIR}/hrrr/tmp/cyclones_hrrr_8
mv ${HOMEDIR}/hrrr/tmp/cyclones_hrrr_10 ${HOMEDIR}/hrrr/tmp/cyclones_hrrr_9
mv ${HOMEDIR}/hrrr/tmp/cyclones_hrrr_11 ${HOMEDIR}/hrrr/tmp/cyclones_hrrr_10
mv ${HOMEDIR}/hrrr/tmp/cyclones_hrrr_12 ${HOMEDIR}/hrrr/tmp/cyclones_hrrr_11
mv ${HOMEDIR}/hrrr/tmp/cyclones_hrrr_13 ${HOMEDIR}/hrrr/tmp/cyclones_hrrr_12
mv ${HOMEDIR}/hrrr/tmp/cyclones_hrrr_14 ${HOMEDIR}/hrrr/tmp/cyclones_hrrr_13
mv ${HOMEDIR}/hrrr/tmp/cyclones_hrrr_15 ${HOMEDIR}/hrrr/tmp/cyclones_hrrr_14
mv ${HOMEDIR}/hrrr/tmp/cyclones_hrrr_16 ${HOMEDIR}/hrrr/tmp/cyclones_hrrr_15

試試:

p="${HOMEDIR}/hrrr/tmp/cyclones_hrrr_"
for ((i=1; i<=16; i++)); do mv "$p$i" "$p$((i-1))" ; done
for i in {1..16}; do mv "cyclones_hrrr_$i" "cyclones_hrrr_$((i-1))" ; done

說明

  • for i in {1..16}; do

    這開始循環。 循環對變量i每個值從1到16運行。

  • mv "cyclones_hrrr_$i" "cyclones_hrrr_$((i-1))"

    這會移動文件。 如果文件不在當前目錄中,請添加路徑。

    shell允許簡單的算術運算。 表達式$((i-1))返回i-1

  • done

    這表示循環結束。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM