По сути, я хочу это, но в цикле ...
echo `date +'['%H':'%M':'%S']'` - `mv -vf test* test/` > log.txt
Это работает так, как я хочу, за исключением того, что печатает все в одной строке. Я хочу, чтобы он создавал новую строку и метку даты для каждого перемещенного файла.
Прямо сейчас я получаю:
[10:12:36] - "test1.txt" -> "test/test1.txt" "test2.txt" -> "test/test2.txt" "test.txt" -> "test/test.txt"
Но хочу:
[10:12:36] - "test.txt" -> "test/test.txt"
[10:12:37] - "test1.txt" -> "test/test1.txt"
[10:12:38] - "test2.txt" -> "test/test2.txt"
Я думаю, мне понадобится цикл for, чтобы решить эту проблему, но я не смог понять это. Я также не хочу использовать переменные, поскольку я хочу это в одной строке. Но это может быть невозможно?
Правильный ответ, предоставленный Матем, был:
for i in `mv -vf test* test/` ; do echo `date +'['%H':'%M':'%S']'` - $i ; done > log.txt