Bashを使ってファイルの先頭に日付を追加する方法を見つけました。問題は、私が2020.12.09 - filename
歴史的にすべてのファイルにその形式を使用して好むということです。私のコマンドは日付の標準形式を追加します2020-12-09filename
。ダッシュをピリオドに変更し、日付とファイル名の間にスペースを含むダッシュを追加したいと思います。
助けてくれてありがとう。ありがとうございます!
答え1
初期プログラムを編集できる場合は、date
マニュアルページを確認してください。
date '+%Y.%m.%d' # --> 2020.12.09
既存のファイルの名前を変更するには:
prename 's/(\d{4})-(\d{2})-(\d{2})/$1.$2.$3 - /' 20*
一部のLinuxディストリビューションでprename
呼び出されますrename
答え2
これは私にとって効果的です。
mv 12-34-5.txt 12\.34\.5.txt
構文は次のとおりです。mv
<old name>
<new name>
答え3
私はあなたが次の日付を生成していると思います。
$ date -Idate
2020-12-09
以下を使用して配管に置き換えることがsed
できます。-
.
$ date -Idate | sed 's/-/./g'
2020.12.09
その後、ファイル名を変更できます。
mv "$file" $(date -Idate | sed 's/-/./g')\ -\ "$file"
これは少し冗長なので、次の関数を作成できます~/.bashrc
。
function add-date {
mv "$1" $(date -Idate | sed 's/-/./g')\ -\ "$1"
}
それでは、どのように機能するかを見てみましょう。
$ touch file1
$ ls
file1
$ add-date file1
$ ls
'2020.12.09 - file1'