所以我是一個編碼新手,並且有一段時間想要編輯我相當廣泛的現場音樂庫的格式。我在這裏和各種其他資源環顧四周,看看我在哪裏,但我遇到了困難。我有以下方式命名的目錄:將文件/目錄從一種日期格式重命名爲另一種
- 02.10.90 | 23 East Caberet - 賓夕法尼亞州阿德莫爾
- 02.16.90 |天堂 - 馬薩諸塞州波士頓
,我想這些重命名只是爲了
- 1990年2月10日| 23 East Caberet - 賓夕法尼亞州阿德莫爾
- 1990-02-16 |天堂 - 馬薩諸塞州波士頓
我已經能夠正確地命名日期使用:
ls -1 | grep 90 | awk '{print $1}' | awk -F. '{printf "%s-%s-%s\n", "19"$3,$1,$2}' > list1.txt
,然後使用
ls -1 | grep 90 | awk '{first = $1; $1 = ""; print $0}'>list2.txt
所以,我拉姓名的其餘部分從1990年到2004年的目錄列表,我希望將它應用到(它們都在不同的子目錄中,所以我不介意手動更改「grep 90」)。但是,從我生成的兩個單獨列表,我無法弄清楚如何讓它循環通過每一行和打印「MV ORIGINAL_NAME list1.txt + list2.txt」,因此,它會讀取:
mv 02.10.90 | 23 East Caberet - Ardmore, PA 1990-02-10 | 23 East Caberet - Ardmore, PA
我經歷了許多以前的帖子掃描,不能完全弄清楚的最後一位 - 或者更好的是,更優雅的解決方案!任何幫助非常感謝,提前謝謝!
非常感謝您的幫助!這提供了我的問題很多見解 - 我沒有提到的一件事是,我正在運行Mac OS Sierra,並不認爲GNU命令將在我的bash中工作。我會試着弄清楚它是否能讓它工作。 – PGruven
您可以在Mac上安裝GNU工具。去谷歌上查詢。否則,如果您的文件名不包含換行符,而不是從find和'-d'''從讀取中刪除'-print0',其餘部分將按原樣運行。 –