我想寫一個bash腳本,它以$ 1的形式接收文件,然後複製它並在文件的末尾添加年份,月份和日期。所以例如,如果我有一個文件foo.txt它會變成foo.txt.2010.11.16。我不是真的100%確定如何做到這一點,有什麼建議嗎?bash腳本爲文件上的待定日期
0
A
回答
1
您可以使用$(date ...)
將當前日期轉換爲環境變量。
以下腳本允許您傳遞任意數量的文件名,它會嘗試將它們全部複製到附加日期的類似文件中。
得到日期一旦萬一您嘗試在午夜時分運行它,並且您希望它們全都獲得相同的日期,即使您在此過程中進入了第二天。
#!/usr/bin/bash
if [[ $# -lt 1 ]] ; then
echo 'Usage: datecp <filename> ...'
exit 1
fi
dt=$(date +%Y.%m.%d)
while [[ $# -ne 0 ]] ; do
if [[ ! -f "$1" ]] ; then
echo 'Warning:' $1 'is not a regular file, not copied'
else
newf="$1.$dt"
cp "$1" "$newf"
echo "$1" '-->' "$newf"
fi
shift
done
輸出爲最後一個是沿着線:
pax> datecp
Usage: datecp <filename> ...
pax> datecp xyz
xyz --> xyz.2010.11.17
pax> datecp xyz abc
xyz --> xyz.2010.11.17
abc --> abc.2010.11.17
pax> ./qq.sh xyz qwert abc
xyz --> xyz.2010.11.17
Warning: qwert is not a regular file, not copied
abc --> abc.2010.11.17
3
簡易型:
#!/bin/bash
cp "$1" "$1".`date +%Y.%m.%d`
票友版本:
#!/bin/bash
#
# date_tag_files file1 [file2 file3 ...]
#
for f in $*
do
cp "$f" "$f".`date +%Y.%m.%d`
done
+0
非常感謝你。 – brian 2010-11-17 02:37:01
相關問題
- 1. 期待和Bash腳本
- 2. BASH腳本按日期
- 3. Bash腳本,比如日期?
- 4. 將輸出的bash腳本寫入日期文件
- 5. bash腳本根據修改的文件日期刪除目錄
- 6. Bash腳本遍歷和比較循環中的文件日期
- 7. 在bash腳本中設置的日期
- 8. Bash腳本日誌文件輪換
- 9. Bash腳本來解析日誌文件
- 10. bash腳本未能與日期來重命名文件夾
- 11. bash腳本查找文件名中的基於日期的舊文件
- 12. 的Bash shell腳本 - 寫入自定義日誌文件
- 13. 期待腳本上的錯誤
- 14. bash腳本將文件上傳到sftp
- 15. 使用bash腳本和日期將名爲今天日期的文件夾複製到AWS s3
- 16. bash腳本通過文件夾名稱刪除日期文件夾
- 17. bash shell腳本爲最後一週的日期
- 18. bash腳本內的期望
- 19. PowerShell腳本集創建日期在文件副本上失敗
- 20. bash腳本爲
- 21. 閱讀Bash腳本文件
- 22. 運行BASH腳本文件
- 23. bash腳本讀取文件
- 24. Bash腳本複製文件
- 25. bash腳本查找文件
- 26. 文件搜索bash腳本
- 27. 如果是特定日期,請將日期設置爲待定
- 28. 腳本根據Windows上的日期按名稱下載文件?
- 29. 在shell腳本中的文件名前加上日期
- 30. 快速bash腳本在指定文件夾中運行腳本?
「到的端部該文件「 - 顯然你的意思是文件名*末尾。 – 2010-11-17 03:49:37