Pour traiter un tas de données et le préparer à être inséré dans notre base de données, nous générons un tas de scripts shell. Chacun d'eux a environ 15 lignes, une pour chaque table que les données vont. Un lot d'importation récent, certains des fichiers d'importation ont échoué dans une table particulière. Donc, j'ai un tas de scripts shell (environ 600) où je dois commenter les 7 premières lignes, puis relancer le fichier. Il y a environ 6000 scripts shell dans ce dossier, et rien sur un fichier particulier ne peut me dire s'il a besoin de l'éditer. J'ai une liste des fichiers que j'ai tirés de la sortie de la base de données.Script Bash pour éditer un tas de fichiers
Alors, comment écrire un script bash (ou quoi que ce soit d'autre qui fonctionnerait mieux) pour prendre cette liste de noms de fichiers et pour chacun d'eux, commenter les 7 premières lignes, et exécuter le script?
EDIT:
#!/usr/bin/env sh
cmd1
cmd2
cmd3
cmd4
cmd5
cmd6
cmd7
cmd8
Je ne sais pas comment lisible est. Fondamentalement, les 7 premières lignes (sans compter la première ligne) doivent avoir un # ajouté au début d'eux. Note: les fichiers ont été édités pour raccourcir chaque ligne et couper partiellement la copie de VIM. Mais dans la partie principale de chaque fichier, il y a une ligne commençant par echo, puis une ligne commençant par sqlldr
Fournissez des exemples de fichiers d'entrée et décrivez clairement comment vous souhaitez que la sortie, le cas échéant, soit similaire à ... – ghostdog74
Édité pour inclure un fichier d'exemple. –
Pour la postérité: vous devez faire chmod + x line.new ainsi –