我在用着
for i in *.jpg; do mv $i $(openssl rand -rand $i -hex 16).jpg; done
重命名目录中的文件。
我需要做的是跟踪从旧名称到新名称的变化。所以我想输出一个文本或 csv 文件
输出 csv 或 txt 文件示例:
old_name, new_name
1234.jpg, 0dd4e436bd9482e8e679fa471aaf9b0e.jpg
添加典型的
>>output_file
或者
| tee
在这个 for 循环中对我来说不起作用。
答案1
echo "old_name, new_name" > output_file.csv
for old in *.jpg; do
new=$(openssl rand -rand "$old" -hex 16).jpg
echo "$old, $new" >> output_file.csv
mv "$old" "$new"
done