基本上我想要的是这个但是在for循环中..
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循环来解决这个问题,但还是无法解决这个问题。我也不想在一行上使用变量。但那可能不可能?
Mat提供的正确答案是:
for i in `mv -vf test* test/` ; do echo `date +'['%H':'%M':'%S']'` - $i ; done > log.txt
答案 0 :(得分:2)
你可以尝试:
IFS='
'; set -f
for i in `mv -vf test* test/` ; do echo `date +'['%H':'%M':'%S']'` - $i ; done