Saya memiliki ribuan file yang diunduh dari internet dengan konvensi penamaan seperti ini:

HTTP_services.cgi?FILENAME=%2Fdata%2FGPM_L3%2FGPM_3IMERGM.06%2F2020%2F3B-MO.MS.MRG.3IMERG.20200301-S000000-E235959.03.V06B.HDF5&FORMAT=bmM0Lw&BBOX=-9,114.3,-8,115.8&LABEL=3B-MO.MS.MRG.3IMERG.20200301-S000000-E235959.03.V06B.HDF5.SUB.nc4

Saya ingin mengganti nama semua file dengan menghapus 171 karakter pertama dalam nama file. Jadi saya akan memiliki file dengan nama "3B-MO.MS.MRG.3IMERG.20200301-S000000-E235959.03.V06B.HDF5.SUB.nc4"

Apakah ada solusi one-liner yang bisa saya gunakan? Saya menggunakan terminal di mac.

-1
user97103 3 Juli 2020, 11:54

1 menjawab

Rename adalah solusi terbaik, tetapi Anda juga dapat menggunakan perintah substring:

for file in `ls *IMERG*` ; do 
   mv $file ${file:171}
done

Atau sebagai alternatif menggunakan cut:

for file in `ls *IMERG*` ; do 
    mv $file `echo ${file} | cut -c 171-`
done

Jika Anda yakin persis 171 karakter akan berfungsi untuk setiap nama file.

1
Adrian Tompkins 16 September 2020, 07:00