我正在寫shell腳本,並且卡住了。要求是:我將接收其上有序號的文件,如xyz0001abcd.DAT。我創建了該文件的一個副本,保留序列號爲abcd000001gfh.DAT。原始文件名使用四位數字(最大9999),複製的文件使用六位(最大999999)。用於更改文件名上的序列號的腳本
當9999在原始文件中出現時,我卡住了。原始文件序列號將環繞,但我希望複製的文件序號繼續。也就是說,映射9999-> 009999之後,我將獲得0001第二次,並將其映射到10000,這樣複製的文件可以使用它的編號一直持續到999999
xyz0001abcd.DAT -> abcd000001gfh.DAT
xyz0002abcd.DAT -> abcd000002gfh.DAT
.
.
.
xyz9999abcd.DAT -> abcd009999gfh.DAT # First sequence wraps around.
xyz0001abcd.DAT -> abcd010000gfh.DAT
xyz0002abcd.DAT -> abcd010001gfh.DAT
這怎麼可能在做shell腳本的形式?
好!這是一個現存的腳本,作爲守護進程運行,持續監視文件並創建文件副本,但它直接放置序列號,因此我需要更改進程的行爲。 – Vijay 2009-10-09 14:34:59
顯示您的代碼。 – ghostdog74 2009-10-09 15:03:04
如果將0001映射到10001,在原始文件編號中跳過10000或包含0000,這將會更漂亮。 mouviciel的答案跳過10000,讓你使用字符串前綴而不是模塊化算術。 – Cascabel 2009-10-09 17:34:11