Rename
Linux批量文件在特定位置重命名
我想重命名目錄中特定位置的所有文件。
原始文件樣本名稱:
neif11_fastcredit_20190629101333.txt neif11_fastcredit_20190629101334.txt neif11_fastcredit_20190629101335.txt neif11_fastcredit_20190629101336.txt neif11_fastcredit_20190629101337.txt
我想將其重命名為:
neif11_fastcredit_20191129061333.txt neif11_fastcredit_20191129061334.txt neif11_fastcredit_20191129061335.txt neif11_fastcredit_20191129061336.txt neif11_fastcredit_20191129061337.txt
文件名理解:
neif11_fastcredit_2019
應該保持原樣下一部分是月份和日期**$$ MMDD $$0629
我想更新到1129
今天的日期,最後一部分是HHMMSS**,它也保持不變。需要幫助,因為我是 Linux 新手。
如果您沒有
rename
可用的,您可以嘗試使用以下(Bash)循環sed
:user@host$ for FILE in *.txt; do NEWNAME=$(sed 's/_20190629/_20191129/' <<< "$FILE"); mv "$FILE" "$NEWNAME"; done
請注意,這需要 Bash。如果你有另一個外殼,你將不得不求助於類似的東西
user@host$ for FILE in *.txt; do NEWNAME=$(echo "$FILE" | sed 's/_20190629/_20191129/'); mv "$FILE" "$NEWNAME"; done
另請注意,這假設文件名“行為良好”,因此特殊字元(不是您的範例的一部分)可能會導致此操作失敗。