我正在寻找一种在 linux shell 脚本(bash)中执行以下操作的方法:
我有一系列以随机顺序命名的文件并传送到服务器上的共享。它们都在文件中包含一个特定的标识符名称:例如
fileabc123.xml
包含单词PCVendor
filedef456.xml
包含单词PrinterVendor
为了以正确的方式处理这些文件,我需要找到一种方法/命令组合将文件重命名为包含文件内单词的新文件名,因此:
fileabc123.xml
需要重命名为PCVendor-file123abc.xml
filedef456.xml
需要重命名为PrinterVendor-file456def.xml
这需要在 shell 脚本中自动完成。
我正在查看以下内容:
for i in `ls *.xml`;
do
cat *.xml | grep "PCVendor"
mv $i PCVendor-$i
done
但我知道这会将所有可用文件重命名为 PCVendor-$i 而不是将每个文件重命名为相应的单词。
在此先感谢您的帮助!
谢谢,伊夸特