Comment rechercher un motif dans un fichier et obtenir un nouveau fichier du sharepoint correspondance à la fin du fichier?

Je dois prendre un fichier et trouver la première occurrence d’un modèle de chaîne littérale en tant que ligne complète du fichier:

Acknowledgments: 

Et puis je souhaite créer un nouveau fichier de la ligne de correspondance jusqu’à la fin du fichier.

Je pense que Perl est un bon moyen de le faire, mais je ne suis pas vraiment un perl, mais peut-être que Sed est une bonne façon?

Veuillez suggérer un moyen simple d’accomplir cela de manière fiable sous Unix.

Voici une façon de le faire en utilisant sed:

 sed -n '/^Acknowledgements:$/,$p' input-file > output-file 

L’option -n supprime l’impression de l’entrée dans la sortie. Le /^Acknowledgements:$/,$ part est une spécification de plage d’adresse qui indique qu’il doit correspondre à la ligne correspondant à l’expression régulière ^Acknowledgements:$ à la fin du fichier ( $ ), puis imprimer ces lignes ( p ) à la sortie.

Si vous souhaitez que le fichier d’entrée et le fichier de sortie soient identiques, vous devez également spécifier l’option -i pour indiquer à sed de modifier sur place.

Perl

Voici un script qui devrait réaliser ce que vous recherchez.

 use ssortingct; use warnings; open my $input, '<', 'inputFile.txt'; # Open handle to input file open my $output, '>', 'output.txt'; # Open handle to output file while (<$input>) { next if /^Acknowledgments:$/ .. 0; chomp $_; print $output $_,"\n"; } close $input; close $output; 

Ci-dessous est l’équivalent Perl one-liner:

 perl -ne 'print if /^Acknowledgments$/ .. 0' inputFile > outputFile