我们有许多来自系统的作业报告,它们以前缀O*****.TXT. 文件中包含报告的进程 ID。
我可以运行什么脚本来搜索'O****.TXT目录中的所有文件,并使用每个文件中的进程 ID 重命名每个文件?例如:
搜索OAAJWNZN.TXT为ProcID:0000019324,重命名OAAJWNZN.TXT到0000019324.TXT。
然后一旦这个文件被重命名,脚本就会移动到目录中的下一个文件并执行相同的操作。
I 系统生成的具有通用文件名的文件。我想要一个可以运行的脚本,它会扫描这些文件中 ProcID 一词的第二个实例(在 ProcID 一词之后是一个数字),然后使用 ProcID 编号重命名该文件。目前我有以下几点:
FILEPATH; awk -F '[:)]' '/ProcID./{printf "mv %s %s.txt\n", FILENAME, $2 | "/bin/sh"; nextfile}' O*.TXT
Run Code Online (Sandbox Code Playgroud)
例如,脚本扫描文件并找到第二个实例,(ProcID:0000014778)然后使用此过程 ID 号重命名文件。
上面的脚本只找到第一个实例,因此在系统完成输出到文件之前文件被重命名。