【发布时间】:2015-07-12 00:30:27
【问题描述】:
我想使用 lynx 网络浏览器输出批量重命名一些文件。我尝试了许多变体,但没有任何实际效果。
每个文件中都有一行我想用作文件名。
这基本上是我正在尝试的:
for i in *.html ; do mv "$i" "$(lynx -dump -nolist -width=200 "$i" | grep --color=never '[0-9] - [0-9]' | head -n 1 | sed -e 's/^[ \t]*//' -e "s/'/'\\\\''/g; 1s/^/'/" | cut -c3-)" ; done
这是结果:
mv: cannot move 'old_file.html' to 'new_file.html': No such file or directory
非常感谢任何帮助!
【问题讨论】:
-
如果您添加了对您想要实现的目标的解释,而不仅仅是转储非工作命令,这将非常有帮助。
-
文件名不代表实际内容,需要重命名。我使用
Lynx格式化每个文件,然后grep检索相关信息,例如日期、论坛名称等。最终结果将是新文件名。该脚本实际上正确显示了目标名称,只是当我尝试重命名文件时它不起作用。
标签: rename batch-processing batch-rename