为了处理一堆数据并准备好将其插入到我们的数据库中,我们生成了一堆 shell 脚本。它们中的每一个都有大约 15 行,一个用于数据正在运行的每个表。一个最近的导入批次,一些导入文件未能进入一个特定的表。所以,我有一堆 shell 脚本(大约 600 个),我需要注释掉前 7 行,然后重新运行文件。这个文件夹中大约有 6000 个 shell 脚本,没有任何关于特定文件的信息可以告诉我它是否需要编辑。我有一个从数据库输出中提取的文件的列表。
那么我如何编写一个 bash 脚本(或其他任何可以更好地工作的脚本)来获取这个文件名列表,并为每个文件名,注释掉前 7 行,然后运行脚本?
编辑:
#!/usr/bin/env sh
cmd1
cmd2
cmd3
cmd4
cmd5
cmd6
cmd7
cmd8
不确定它的可读性如何。基本上,前 7 行(不包括第一行)需要在它们的开头添加一个 #。注意:文件已经过编辑,使每行更短,并部分切断了从 VIM 复制出来的内容。但是在每个文件的主要部分,有一行以echo开头,然后一行以sqlldr开头