テキストファイルをバックアップするためにファイル名に日付文字列を追加しようとしているので、
次のようにしました。
cp "$infile" "$infile"_backup_ date +"%Y%m%d_%H%M%S"
しかし、うまくいきません。 「date」出力を文字列に追加するにはどうすればよいですか?
user1@serv01:~/test_sh_append> date +"%Y%m%d_%H%M%S"
20171222_075003
user1@serv01:~/test_sh_append> echo date +"%Y%m%d_%H%M%S"
date +%Y%m%d_%H%M%S
答え1
以下を使用してください。
cp "$infile" "${infile}_backup_"$(date +"%Y%m%d_%H%M%S")
${infile}
$infile
- 接続文字列への変数の挿入$(date +"%Y%m%d_%H%M%S")
- 出力が結果接続文字列の終わりになるコマンドの置き換え(新しい項目)ファイル名)
date
たとえば、書式指定子にスペースが含まれている場合は、%Y%m%d %H%M%S
接続の全体順序を二重引用符で囲みます。"${infile}_backup_$(date +"%Y%m%d %H%M%S")"
答え2
私は次の方法でそれをしました
i=`date +%Y%m%d_%H%M%S`; cp inputfile inputfile_$i
ここで、iはdateコマンドの出力を含む変数です。