Tôi mới làm quen với chương trình dựa trên vỏ sò và vỏ sò. Tôi có một loạt tệp có tên file_0001.dat
, file_0002.dat......file_1000.dat
. Tôi muốn thay đổi tên tập tin như số sau file_ sẽ là bội số của 4 so với tên tập tin trước đó. SO tôi muốn thay đổiMột kịch bản để thay đổi tên tệp
file_0001.dat to file_0004.dat
file_0002.dat to file_0008.dat
v.v.
Ai đó có thể đề xuất một tập lệnh đơn giản để làm điều đó. Tôi đã thử những điều sau nhưng không thành công.
#!/bin/bash
a=$(echo $1 sed -e 's:file_::g' -e 's:.dat::g')
b=$(echo "${a}*4" | bc)
shuf file_${a}.dat > file_${b}.dat
tôi cna giúp bạn với một java hoặc php script cho việc này. Trước tiên, bạn sẽ phải quét thư mục và giữ tất cả tên tệp, sau đó ánh xạ chúng với tên mới, sau đó bắt đầu từ mức cao nhất và xuống thấp nhất. Như thể u đi từ thấp nhất - sẽ có xung đột. ví dụ u không thể đổi tên 001 thành 004 nếu có 004 từ trước. – tgkprog
@tgkprog - Có vẻ như anh ấy muốn sử dụng awk/sed/bash (đó là các công cụ tốt hơn cho nhiệm vụ này). – jahroy
Bạn nên chọn câu trả lời đúng, tại sao? Xem [faq] – tgkprog